Part Number Hot Search : 
CD214C 4017BDM SDZ5V6 30014 STD1560 IC7660 PS232F 100MA
Product Description
Full Text Search
 

To Download WM8594SEFTRV Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  w wm8594 24-bit 192khz 2vrms multi-channel codec wolfson microelectronics plc to receive regular email updates, sign up at http://www.wolfsonmicro.com/enews/ product preview, january 2007, rev 1.0 copyright ? 2007 wolfson microelectronics plc description the wm8594 is a high performance multi-channel audio codec with flexible input/output selection and digital and analogue volume control. features include a 24-bit stereo adc with digital gain control, two 24-bit dacs with independent digital volume control, and a range of input/output channel selection options with analogue volume control, for flexible routing within current and future audio systems. the wm8594 accepts five stereo audio inputs at line levels up to 2vrms. one stereo input can be routed to the adc. all inputs can be routed to the output. the wm8594 outputs three stereo audio channels at line levels up to 2vrms, which can be selected from any of the analogue inputs and dac outputs. additionally, one stereo output is available with a headphone driver. the dac channels include independent digital volume control, and all three stereo output channels include analogue volume control with soft ramp. the wm8594 supports up to 2vrms analogue inputs, 2vrms outputs, with sampling rates from 32khz to 192khz for the dacs, and 32khz to 96khz for the adc. the wm8594 is ideal for audio applications requiring high performance and flexible routing options, including flat panel digital tv and dvd recorder. the device is controlled via a serial interface with support for 2-wire and 3-wire control with full readback. control of mute, powerdown and reset can also be achieved by pin selection. the wm8594 is available in a 48-lead tqfp package. features ? multi-channel codec with 5 stereo input selector and 3 stereo output selector ? 4-channel dac, 2-channel adc ? five stereo 2vrms stereo inputs with analogue bypass to three stereo 2vrms outputs ? stereo headphone driver ? audio performance - dac: 100db snr typical (?a? weighted @ 48khz) - dac: -90db thd typical - adc: 100db snr typical (?a? weighted @ 48khz) - adc: -90db thd typical ? independent sampling rates for adc, dac1 and dac2 ? dacs sampling frequency 32khz to 192khz ? adc sampling frequency 32khz to 96khz ? adc digital gain control: +30db to -97db ? dac digital volume control: +12db to -100db ? analogue volume control with soft ramp: +6db to -73.5db ? all volume controls include zero cross detection to prevent pops and clicks ? 2 and 3-wire serial control interface with readback and hardware reset, mute and powerdown pins ? master or slave clocking modes ? programmable format audio data interface modes - i 2 s, lj, rj, dsp ? 3.3v / 9v analogue, 3.3v digital supply operation ? 48-lead tqfp package applications ? digital flat panel tv ? dvd-rw
wm8594 product preview w pp rev 1.0 january 2007 2 block diagram
product preview wm8594 w pp rev 1.0 january 2007 3 table of contents description .......................................................................................................1 features.............................................................................................................1 applications .....................................................................................................1 block diagram .................................................................................................2 table of contents .........................................................................................3 pin configuration...........................................................................................4 ordering information ..................................................................................4 pin description ................................................................................................5 absolute maximum ratings.........................................................................6 recommended operating conditions .....................................................7 supply current consumption ...................................................................7 electrical characteristics ......................................................................7 terminology ............................................................................................................ 9 master clock timing ........................................................................................... 11 digital audio interface timing ? slave mode............................................. 12 digital audio interface timing ? master mode.......................................... 13 control interface timing ? 2-wire mode .................................................... 14 control interface timing ? 3-wire mode .................................................... 15 power on reset (por) ........................................................................................ 16 device description .......................................................................................17 introduction ......................................................................................................... 17 control interface.............................................................................................. 17 2-wire (sm-bus compatible) serial control interface mode .............. 18 3-wire (spi compatible) serial control interface mode ...................... 20 global enable control..................................................................................... 21 digital audio interface ..................................................................................... 21 digital audio data sampling rates................................................................ 23 digital audio data formats ............................................................................. 25 dac features......................................................................................................... 29 adc features......................................................................................................... 32 analogue routing control............................................................................. 33 pop and click performance ............................................................................ 44 register map...................................................................................................47 digital filter characteristics ...............................................................71 applications information .........................................................................74 recommended external components .......................................................... 74 recommended analogue low pass filter .................................................. 75 extended input impedance configuration................................................. 75 relevant application notes ............................................................................ 76 package dimensions ....................................................................................77 important notice ..........................................................................................78 address: .................................................................................................................. 78
wm8594 product preview w pp rev 1.0 january 2007 4 pin configuration ordering information device temperature range package moisture sensitivity level peak soldering temperature wm8594seft/v -25 to +85 o c 48-lead tqfp (pb-free) msl1 260 ? c wm8594seft/rv -25 to +85 o c 48-lead tqfp (pb-free, tape and reel) msl1 260 ? c note: reel quantity = 2,200
product preview wm8594 w pp rev 1.0 january 2007 5 pin description pin name type description 1 adclrc digital input/output adc audio interface left/right clock input/output 2 adcbclk digital input/output adc audio interface bit clock input/output 3 dout digital output adc data output 4 dacmclk1 digital input dac1 master clock 5 daclrc1 digital input dac1 audio interface left/right clock input 6 dacbclk1 digital input dac1 audio interface bit clock input 7 din1 digital input dac 1 data input 8 dacmclk2 digital input dac2 master clock 9 daclrc2 digital input dac2 audio interface left/right clock input 10 dacbclk2 digital input dac2 audio interface bit clock input 11 din2 digital input dac 2 data input 12 dvdd supply digital supply 13 dgnd supply digital ground 14 /pwdn digital input hardware standby mode 15 mute digital input hardware dac mute 16 /reset digital i nput hardware reset 17 avdd2 supply analogue 9v supply 18 agnd2 supply analogue ground 19 vout3r analogue output output selector channel 3 right output 20 vout3l analogue output output selector channel 3 left output 21 vout2r analogue output output selector channel 2 right output 22 vout2l analogue output output selector channel 2 left output 23 vout1r analogue output output selector channel 1 right output 24 vout1l analogue output output selector channel 1 left output 25 vin1l analogue input input selector channel 1 left input 26 vin1r analogue input input selector channel 1 right input 27 vin2l analogue input input selector channel 2 left input 28 vin2r analogue input input selector channel 2 right input 29 vin3l analogue input input selector channel 3 left input 30 vin3r analogue input input selector channel 3 right input 31 vin4l analogue input input selector channel 4 left input 32 vin4r analogue input input selector channel 4 right input 33 vin5l analogue input input selector channel 5 left input 34 vin5r analogue input input selector channel 5 right input 35 adcrefp analogue input positive reference for adc 36 adcvmid analogue output midrail divider decoupling pin for adc 37 adcrefn analogue input ground reference for adc 38 dacrefp analogue input positive reference for dacs 39 dacvmid analogue output midrail divider decoupling pin for dacs 40 dacrefn analogue input ground reference for dacs 41 avdd1 supply analogue 3.3v supply 42 agnd1 supply analogue ground 43 mode digital input software mode select (high = 3-wire, low = 2-wire) 44 sdout digital output software mode: serial control interface data output 45 /cs digital input software mode: serial control interface chip select 46 sclk digital input software mode: serial control interface clock signal 47 sdin digital input software mode: serial control interface data signal 48 adcmclk digital input adc master clock input
wm8594 product preview w pp rev 1.0 january 2007 6 absolute maximum ratings absolute maximum ratings are stress ratings only. permanent damage to the device may be caused by continuously operating at or beyond these limits. device functional operating limits and guaranteed performance specifications are given under electrical characteristics at the test conditions specified. esd sensitive device. this device is manufactured on a cmos process. it is therefore generically susceptible to damage from excessive static voltages. proper esd precautions must be taken during handling and storage of this device. wolfson tests its package types according to ipc/jedec j-std-020b for moisture sensitivity to determine acceptable storage conditions prior to surface mount assembly. these levels are: msl1 = unlimited floor life at <30 c / 85% relative humidity. not normally stored in moisture barrier bag. msl2 = out of bag storage for 1 year at <30 c / 60% relative humidity. supplied in moisture barrier bag. msl3 = out of bag storage for 168 hours at <30 c / 60% relative humidity. supplied in moisture barrier bag. the moisture sensitivity level for each package type is specified in ordering information. condition min max digital supply voltage, dvdd -0.3v +4.5v analogue supply voltage, avdd1 -0.3v +7v analogue supply voltage, avdd2 -0.3v +15v voltage range digital inputs dgnd -0.3v dvdd + 0.3v voltage range analogue inputs tbd avdd1 + 0.2v master clock frequency 38.462mhz ambient temperature (supplies applied) -55 c +125 c storage temperature -65 c +150 c pb free package body temperature (reflow 10 seconds) +260 c package body temperature (soldering 2 minutes) +183 c note: 1. analogue and digital grounds must always be within 0.3v of each other. thermal performance parameter symbol test conditions min typ max unit thermal resistance ? junction to ambient r ja 51.7 see note 1 c/w notes: 1. figure given for package mounted on 4-layer fr4 according to jesd51-7. (no forced air flow is assumed). 2. thermal performance figures are estimated.
product preview wm8594 w pp rev 1.0 january 2007 7 recommended operating conditions parameter symbol test conditions min typ max unit digital power supply dvdd 2.97 3.3 3.6 v analogue power supply avdd1 2.97 3.3 3.6 v analogue power supply avdd2 8.1 9 9.9 v ground dgnd/agnd1/ agnd2 0 v operating temperature range t a -25 +85 c notes: 1. digital supply (dvdd) must never be more than 0.3v greater than avdd1 in normal operation. 2. digital ground (dgnd) and analogue grounds (agnd1, agnd2) must never be more than 0.3v apart. supply current consumption parameter symbol test conditions min typ max unit digital supply current i dvdd tbd ma analogue supply current i avdd1 tbd ma analogue supply current i avdd2 tbd ma standby current tbd a electrical characteristics test conditions avdd2=9v, avdd1=dvdd=3.3v, agnd1=agnd2=0v, dgnd=0v, t a =+25 ? c, 1khz signal, fs=48khz, mclk=256fs unless otherwise stated parameter symbol test conditions min typ max unit digital logic levels input low level v il 0.3xdvdd v input high level v ih 0.7xdvdd v output low level v ol 0.1 x dvdd v output high level v oh 0.9 x dvdd v digital input leakage current tbd a digital input leakage capacitance tbd pf analogue reference levels adc midrail voltage adcvmid avdd1/2 v adc buffered positive reference voltage adcrefp adcvmid v dac midrail voltage dacvmid dacrefp/2 v avdd1 to adcvmid adcvmid to agnd1 100 k ? potential divider resistance dacvrefp to dacvmid dacvmid to dacvrefn vmid_sel[1:0] = 01 50 (note 2) k ? analogue line outputs output signal level (0db) r l = 10k ? tbd 2.0x avdd2 / 9 tbd vrms maximum capacitance load 11 nf minimum resistance load 1 k ?
wm8594 product preview w pp rev 1.0 january 2007 8 test conditions avdd2=9v, avdd1=dvdd=3.3v, agnd1=agnd2=0v, dgnd=0v, t a =+25 ? c, 1khz signal, fs=48khz, mclk=256fs unless otherwise stated parameter symbol test conditions min typ max unit analogue headphone outputs output signal level (0db) r l = 32 ? tbd 0.8x avdd2 / 9 tbd vrms minimum resistance load 16 ? analogue inputs input signal level (0db) 2.0 x avdd1/3.3 tbd vrms input impedance 10 11 12 k ? extended input impedance (note 3) external resistor = 10k ? 21 k ? input capacitance tbd nf dac performance a-weighted @ fs = 48khz tbd 100 db a-weighted @ fs = 96khz 100 db signal to noise ratio 1,5 snr a-weighted @ fs = 192khz 100 db dynamic range 2,5 dnr a-weighted, -60db full scale input tbd 100 db 1khz, 0dbfs @ fs = 48khz -90 tbd db 1khz, 0dbfs @ fs = 96khz -90 db total harmonic distortion 3,5 thd 1khz, 0dbfs @ fs = 192khz -90 db channel separation 4,5 100 db channel level matching 0.1 db channel phase deviation 0.05 degree 1khz, 100mvpp tbd 50 db power supply rejection ratio psrr 20hz to 20khz, 100mvpp tbd db adc performance a-weighted, 0db gain @ fs = 48khz tbd 100 db signal to noise ratio 1,5 snr a-weighted, 0db gain @ fs = 96khz 97 db dynamic range 2,5 dnr a-weighted, -60db full scale input tbd 100 db 1khz, -1dbfs @ fs = 48khz -90 tbd db total harmonic distortion 3,5 thd 1khz, -1dbfs @ fs = 96khz -87 db channel separation 4,5 100 db channel level matching 0.1 db channel phase deviation 0.05 degree tbd 50 db power supply rejection ratio psrr tbd db analogue bypass paths signal to noise ratio 1,5 snr a-weighted 100 db dynamic range 2,5 dnr a-weighted 100 db total harmonic distortion 3,5 thd 90 db
product preview wm8594 w pp rev 1.0 january 2007 9 test conditions avdd2=9v, avdd1=dvdd=3.3v, agnd1=agnd2=0v, dgnd=0v, t a =+25 ? c, 1khz signal, fs=48khz, mclk=256fs unless otherwise stated parameter symbol test conditions min typ max unit channel separation 4,5 100 db channel level matching 0.1 db channel phase deviation 0.05 degree headphone amplifier output signal level (0db) 0.8 vrms signal to noise ratio 1,5 snr a-weighted db p o =20mw, r l =16 ? db total harmonic distortion thd p o =20mw, r l =32 ? db channel separation 4,5 db power supply rejection ratio psrr tbd db digital volume control adc minimum digital volume -97 db adc maximum digital volume +30 db adc volume step size 0.5 db dac minimum digital volume -100 db dac maximum digital volume +12 db dac volume step size 0.5 db analogue volume control minimum gain -73.5 db maximum gain +6 db step size 0.5 db mute attenuation tbd db crosstalk 1khz signal, adc fs=48khz, dac fs=44.1khz 100 db dac to adc 20khz signal, adc fs=48khz, dac fs=44.1khz 100 db 1khz signal, adc fs=48khz, dac fs=44.1khz 100 db adc to dac 20khz signal, adc fs=48khz, dac fs=44.1khz 100 db terminology 1. signal-to-noise ratio (dbfs) ? snr is the difference in level between a reference full scale output signal and the device output with no signal applied. this ratio is also called idle channel noise. (no auto-zero or automute function is employed in achieving these results). 2. dynamic range (dbfs) ? dnr is a measure of the difference in level between the highest and lowest components of a signal. normally a thd measurement at -60dbfs. the measured signal is then corrected by adding 60db to the result, e.g. thd @ -60dbfs = -30db, dnr = 90db. 3. total harmonic distortion (dbfs) ? thd is the difference in level between a reference full scale output signal and the first seven odd harmonics of the output signal. to calculate the ratio, the fundamental frequency of the output signal is notched out and an rms value of the next seven odd harmonics is calculated. 4. channel separation (db) ? also known as cross-talk. this is a measure of the amount one channel is isolated from the other. normally measured by sending a full scale signal down one channel and measuring the other.
wm8594 product preview w pp rev 1.0 january 2007 10 5. all performance measurements carried out with 20khz low pass filter, and where noted an a-weighted filter. failure to use such a filter will result in higher thd and lower snr and dynamic range readings than are found in the electrical characteristics. the low pass filter removes out of band noise; although it is not audible it may affect dynamic specification values. notes: 1. all minimum and maximum values are subject to change. 2. this resistance is selectable using vmid_sel[1:0] ? see figure 49 for full details. 3. see p75 for details of extended input impedance configuration.
product preview wm8594 w pp rev 1.0 january 2007 11 master clock timing figure 1 mclk timing test conditions avdd1, dvdd = 3.3v, avdd2 = 9v, agnd1, agnd2, dgnd = 0v, t a = +25 o c parameter symbol min typ max unit master clock timing information mclk system clock cycle time t mclky 27 120 ns mclk duty cycle 40:60 60:40 % mclk period jitter 200 ps mclk rise/fall times 10 ns table 1 master clock timing requirements adcmclk/ dacmclk1/ dacmclk2 t mclky
wm8594 product preview w pp rev 1.0 january 2007 12 digital audio interface timing ? slave mode figure 2 slave mode digital audio data timing test conditions avdd1, dvdd = 3.3v, avdd2 = 9v, agnd1, agnd2, dgnd = 0v, t a = +25 ? c, slave mode, fs = 48khz, adcmclk, dacmclk = 256fs, 24-bit data, unless otherwise stated. parameter symbol min typ max unit audio data input timing information adcbclk / dacbclk1 / dacbclk2 cycle time t bcy 80 ns adcbclk / dacbclk1 / dacbclk2 pulse width high t bch 30 ns adcbclk / dacbclk1 / dacbclk2 pulse width low t bcl 30 ns adcbclk / dacbclk1 / dacbclk2 rise/fall times 5 ns adclrclk / daclrclk1 / daclrclk2 set-up time to adcbclk / dacbclk1 / daclrclk2 rising edge t lrsu 22 ns adclrclk / daclrclk1 / daclrclk2 hold time from adcbclk / dacbclk1 / dacbclk2 rising edge t lrh 25 ns adclrclk / daclrclk1 / daclrclk2 rise/fall times 5 ns din1/2 hold time from dacbclk1 / dacbclk2 rising edge t dh 25 ns dout propagation delay from adcbclk falling edge t dd 4 16 ns table 2 slave mode audio interface timing
product preview wm8594 w pp rev 1.0 january 2007 13 digital audio interface timing ? master mode figure 3 master mode digital audio data timing test conditions avdd1, dvdd = 3.3v, avdd2 = 9v, agnd1, agnd2, dgnd = 0v, t a = +25 ? c, slave mode, fs = 48khz, adcmclk, dacmclk = 256fs, 24-bit data, unless otherwise stated. parameter symbol min typ max unit audio data input timing information adclrclk / daclrclk1 / daclrclk2 propagation delay from adcbclk / dacbclk1 / daclrclk2 falling edge t dl 4 16 ns dout propagation delay from adcbclk falling edge t dda 4 16 ns din1 / din2 setup time to dacbclk1 / dacbclk2 rising edge t dst 22 ns din1 / din2 hold time to dacbclk1 / dacbclk2 rising edge t dht 25 ns table 3 master mode audio interface timing
wm8594 product preview w pp rev 1.0 january 2007 14 control interface timing ? 2-wire mode figure 4 control interface timing ? 2-wire serial control mode test conditions avdd1, dvdd = 3.3v, avdd2 = 9v, agnd1, agnd2, dgnd = 0v, t a = +25 ? c, slave mode, fs = 48khz, adcmclk, dacmclk = 256fs, 24-bit data, unless otherwise stated. parameter symbol min typ max unit program register input information sclk pulse cycle time t scy 2500 ns sclk duty cycle 40/60 60/40 % sclk frequency 400 khz hold time (start condition) t stho 600 ns setup time (start condition) t stsu 600 ns data setup time t dsu 100 ns sdin, sclk rise time 300 ns sdin, sclk fall time 300 ns setup time (stop condition) t stop 600 ns data hold time t dho 900 ns pulse width of spikes that will be suppressed t ps 2 8 ns table 4 control interface timing ? 2-wire serial control mode sdin sclk t stho t scy t dsu t stsu t stho t stop t dh
product preview wm8594 w pp rev 1.0 january 2007 15 control interface timing ? 3-wire mode figure 5 control interface timing ? 3-wire serial control mode test conditions avdd1, dvdd = 3.3v, avdd2 = 9v, agnd1, agnd2, dgnd = 0v, t a = +25 ? c, slave mode, fs = 48khz, adcmclk, dacmclk = 256fs, 24-bit data, unless otherwise stated. parameter symbol min typ max unit program register input information sclk rising edge to csb rising edge t scs 60 ns sclk pulse cycle time t scy 80 ns sclk duty cycle 40/60 60/40 % sdin to sclk set-up time t dsu 20 ns sdin hold time from sclk rising edge t dho 20 ns sdout propagation delay from sclk rising edge t dl 5 ns csb pulse width high t csh 20 ns csb rising/falling to sclk rising t css 20 ns pulse width of spikes that will be suppressed t ps 2 8 ns table 5 control interface timing ? 3-wire serial control mode /cs sclk sdin t dho t dsu t csh t scy t scs lsb t css sdout t dl lsb t css
wm8594 product preview w pp rev 1.0 january 2007 16 power on reset (por) figure 1 power supply timing requirements test conditions dvdd = 3.3v, avdd1 = 3.3v, avdd2 = 9v dgnd = agnd1 = agnd2 = 0v, t a = +25 o c, t a_max = +125 o c, t a_min = -25 o c avdd1 max = dvdd max = 3.63v, avdd1 min = dvdd mim = 2.97v, avdd2 max = 9.9v, avdd2 min = 8.1v parameter symbol test conditions min typ max unit power supply input timing information vdd level to por defined (dvdd rising) v pord measured from dgnd 0.27 0.36 0.60 v vdd level to por rising edge (dvdd rising) v pord_hi measured from dgnd 1.34 1.88 2.32 v vdd level to por falling edge (dvdd falling) v pord_lo measured from dgnd 1.32 1.86 2.30 v vdd level to por rising edge (avdd1 rising) v por1_hi measured from dgnd 1.65 1.68 1.85 v vdd level to por falling edge (avdd1 falling) v por1_lo measured from dgnd 1.63 1.65 1.83 v vdd level to por rising edge (avdd2 rising) v por2_hi measured from dgnd 1.80 1.86 2.04 v vdd level to por falling edge (avdd2 falling) v por2_lo measured from dgnd 1.76 1.8 2.02 v table 6 power on reset
product preview wm8594 w pp rev 1.0 january 2007 17 device description introduction the wm8594 is a high performance multi-channel audio codec with 2vrms line level inputs and outputs and flexible analogue input / output switching. the device comprises a 24-bit stereo adc, two 24-bit stereo dacs with independent sampling rates and digital volume control, and a flexible analogue input and output multiplexer. analogue inputs and outputs are all at 2vrms line level, minimising external component count. the dacs can operate from independent left/right clocks, bit clocks and master clocks with independent data inputs. alternatively, the dacs can be synchronised to use the same clo cks with independent data inputs. each of the dac audio interfaces can be configured to operate in ether master or slave clocking modes. in master mode, left/right clocks and bit clo cks are all outputs. in slave mode, left/right clo cks and bit clocks are all inputs. the adc uses a separate left/right clock, bit clock and master clock, allowing independent recording and playback in audio applications. the adc audio interface can be configured to operate in either master or slave clocking mode. in master mode, left/right clocks and bit clocks are all outputs. in slave mode, left/right clo cks and bit clocks are all inputs. the adc includes digital gain control, allowing signals to be gained and attenuated between +30db and -97db in 0.5db steps. the dacs include independent digital volume control, which is adjustable between +12db and -100 db in 0.5db steps. the dacs can be configured to output stereo audio data and a range of mono audio options. the input multiplexer accepts five stereo line level inputs at up to 2vrms. one stereo input can be routed to the adc, and all five stereo inputs can be routed to the output multiplexer. the output multiplexer includes analogue volume control with zero cross, adjustable between +6db and -73.5db in 0.5db steps, and configurable soft ramp rate. analogue audio is output at 2vrms line level. control of the internal functionality of the device is by 2-wire serial control interface with readback. the interface may be asynchronous to the audio data interface as control data will be re- synchronised to the audio processing internally. in addition, control of mute, power-down and reset may also be achieved by pin selection. operation using system clocks of 128fs, 192fs, 256fs, 384fs, 512fs, 768fs or 1152fs is provided. adc and both dacs may be clocked independently. sampling rates from 32khz to 192khz are supported for both dacs provided the appropriate master clocks are input. sampling rates from 32khz to 96khz are supported for the adc provided the appropriate master clock is input. the audio data interface supports right justified, left justified, and i 2 s interface formats along with a highly flexible dsp serial port interface format. control interface control of the wm8594 is achieved by a 2-wire sm-bus-compliant or 3-wire spi compliant serial interface with readback. software interface mode is selected using the mode pin as shown in table 7 below: mode interface format low 2 wire high 3 wire table 7 control interface mode selection
wm8594 product preview w pp rev 1.0 january 2007 18 2-wire (sm-bus compatible) serial control interface mode many devices can be controlled by the same bus, and each device has a unique 7-bit address. register write the controller indicates the start of data transfer with a high to low transition on sdin while sclk remains high. this indicates that a device address and data will follow. all devices on the 2-wire bus respond to the start condition and shift in the next eight bits on sdin (7-bit address and read/write bit, msb first). if the device address received matches the address of the wm8594, the wm8594 responds by pulling sdin low on the next clock pulse (ack). if the address is not recognised, the wm8594 returns to the idle condition and waits for a new start condition with valid address. when the wm8594 has acknowledged a correct address, the controller sends the first byte of control data (b23 to b16, i.e. the wm8594 register address). the wm8594 then acknowledges the first data byte by pulling sdin low for one sclk pulse. the controller then sends a second byte of control data (b15 to b8, i.e. the first 8 bits of register data), and the wm8594 acknowledges again by pulling sdin low for one sclk pulse. finally, the controller sends a third byte of control data (b7 to b0, i.e. the final 8 bits of register data), and the wm8594 acknowledges again by pulling sdin low for one sclk pulse. the transfer of data is complete when there is a low to high transition on sdin while sclk is high. after receiving a complete address and data sequence the wm8594 returns to the idle state and waits for another start condition. if a start or stop condition is detected out of sequence at any point during data transfer (i.e. sdin changes while sclk is high), the wm8594 reverts to the idle condition. the wm8594 device address is 34h (0110100) or 36h (0110110), selectable by control of /cs. /cs (pin 45) 2-wire bus address 0 34h (0110100) 1 36h (0110110) table 8 2-wire control interface bus address selection figure 6 2-wire write protocol auto-increment register write it is possible to write to multiple consecutive registers using the auto-increment feature. when auto_inc is set, the register write protocol follows the method shown in figure 7. as with normal register writes, the controller indicates the start of data transfer with a high to low transition on sdin while sclk remains high, and all devices on the bus receive the device address. when the wm8594 has acknowledged a correct address, the controller sends the first byte of control data (a6 to a0, i.e. the wm8594 initial register address). the wm8594 then acknowledges the first control data byte by pulling sdin low for one sclk pulse. the controller then sends a byte of register data. the wm8594 acknowledges the first byte of register data, auto-increments the register address to be written to, and waits for the next byte of register data. subsequent bytes of register data can be written to consecutive registers of the wm8594 without setting up the device and register address. the transfer of data is complete when there is a low to high transition on sdin while sclk is high.
product preview wm8594 w pp rev 1.0 january 2007 19 figure 7 2-wire auto-increment register write register readback the wm8594 allows readback of all registers with data output on the bidirectional sdin pin. the protocol is similar to that used to write to the device. the controller will issue the device address followed by a write bit, and the register index will then be passed to the wm8594. at this point the controller will issue a repeated start condition and resend the device address along with a read bit. the wm8594 will acknowledge this and the wm8594 will become a slave transmitter. the wm8594 will place the data from the indexed register onto sdin msb first. when the controller receives the first byte of data, it acknowledges it. when the controller receives the second and final byte of data it will not acknowledge receipt of the data indicating that it will resume master transmitter control of sdin. the controller will then issue a stop command completing the read cycle. figure 8 2-wire read protocol auto-increment register readback it is possible to read from multiple consecutive registers in continuous readback mode. continuous readback mode is selected by setting auto_inc. in continuous readback mode, the wm8594 will return the indexed register first, followed by consecutive registers in increasing index order until the controller issues a stop sequence. figure 9 2-wire auto-increment register readback
wm8594 product preview w pp rev 1.0 january 2007 20 3-wire (spi compatible) serial control interface mode register write sdin is used for the program data, sclk is used to clock in the program data and /cs is use to latch in the program data. sdin is sampled on the rising edge of sclk. the 3-wire interface write protocol is shown in figure 10. figure 10 3-wire serial interface write protocol ? w indicates write operation. ? a[6:0] is the register index. ? b[15:0] is the data to be written to the register indexed. ? /cs is edge sensitive ? the data is latched on the rising edge of /cs. register read-back the read-only status registers can be read back via the sdout pin. read back is enabled when the r/w bit is high. the data can then be read by writing to the appropriate register address, to which the device will respond with data. figure 11 3-wire serial interface readback protocol register reset any write to register r0 (00h) will reset the wm8594. all register bits are reset to their default values.
product preview wm8594 w pp rev 1.0 january 2007 21 device id and revision reading from register r0 returns the device id. reading from register r1 returns the device revision number. register address bit label default description r0 device_id 00h 15:0 device_id [15:0] 10000101 10010100 device id a read of this register will return the device id, 0x8594. r1 revision 01h 7:0 revnum [7:0] n/a device revision a read of this register will return the device revision number. this number is sequentially incremented if the device design is updated. table 9 device id and revision number global enable control the wm8594 includes a number of enable and disable mechanisms to allow the device to be powered on and off in a pop-free manner. a global enable control bit enables the adc, dac and analogue paths. for full details of pop-free operation, see ?pop and click performance? on page 44. register address bit label default description r12 enable 0ch 0 global_ en 0 device global enable 0 = adc, dac and pga ramp control circuitry disabled 1 = adc, dac and pga ramp control circuitry enabled table 10 global enable control digital audio interface digital audio data is transferred to and from the wm8594 via the digital audio interface. the dacs have independent data inputs and master clocks, bit clo cks and left/right frame clo cks, and operate in both master or slave mode the adc has independent master clock, bit clock and left/right frame clock in addition to its data output, and can operate in both master and slave modes. master mode the adc audio interface requires both a left/right frame clock (adclrclk) and a bit clock (adcbclk). these can be supplied externally (slave mode) or they can be generated internally (master mode). selection of master and slave mode is achieved by setting adc_mstr in adc control register 15. the frequency of adclrclk in master mode is dependent upon the adc master clock frequency and the adc_sr[2:0] bits. the frequency of adcbclk in master mode can be selected by adc_bclkdiv[1:0]. the dac audio interfaces require both left/right frame clocks (daclrclk1, daclrclk2) and bit clocks (dacbclk1, dacbclk2). these can be supplied externally (slave mode) or they can be generated internally (master mode). selection of master and slave mode is achieved by setting dac1_mstr in dac1 control register 4 and dac2_mstr in dac2 control register 9. the frequency of daclrclk1 in master mode is dependent upon the dac1 master clock frequency and the dac1_sr[2:0] bits. similarly the frequency of daclrclk2 in master mode is dependent upon the dac2 master clock frequency and the dac2_sr[2:0] bits. the frequency of dacbclk1 and dacbclk2 in master mode can be selected by dac1_bclkdiv[1:0] and dac2_bclkdiv[1:0].
wm8594 product preview w pp rev 1.0 january 2007 22 register address bit label default description 2:0 dac1_ sr[2:0] 000 dac mclk:lrclk ratio 000 = auto detect 001 = 128fs 010 = 192fs 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = 1152fs r3 dac1_ctrl2 03h 5:3 dac1_ bclkdiv [2:0] 000 dac1 bclk rate 000 = mclk / 4 001 = mclk / 8 010 = 32fs 011 = 64fs 100 = 128fs all other values of dac1_bclkdiv[2:0] are reserved r4 dac1_ctrl3 04h 0 dac1_ mstr 0 dac1 master mode select 0 = slave mode, dacbclk1 and daclrclk1 are inputs to wm8594 1 = master mode, dacbclk1 and daclrclk1 are outputs from wm8594 2:0 dac2_ sr[2:0] 000 dac mclk:lrclk ratio 000 = auto detect 001 = 128fs 010 = 192fs 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = 1152fs r8 dac1_ctrl2 08h 5:3 dac2_ bclkdiv [2:0] 000 dac2 bclk rate 000 = mclk / 4 001 = mclk / 8 010 = 32fs 011 = 64fs 100 = 128fs all other values of dac2_bclkdiv[2:0] are reserved r9 dac2_ctrl3 09h 0 dac2_ mstr 0 dac2 master mode select 0 = slave mode, dacbclk2 and daclrclk2 are inputs to wm8594 1 = master mode, dacbclk2 and daclrclk2 are outputs from wm8594 r14 adc_ctrl2 0eh 2:0 adc_ sr[2:0] 000 adc mclk:lrclk ratio 000 = auto detect 001 = 128fs 010 = 192fs 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = reserved
product preview wm8594 w pp rev 1.0 january 2007 23 register address bit label default description 5:3 adc_bclk div[2:0] 000 adc bclk rate 000 = mclk / 4 001 = mclk / 8 010 = 32fs 011 = 64fs 100 = 128fs all other values of adc_bclkdiv[2:0] are reserved r15 adc_ctrl3 0fh 0 adc_ mstr 0 adc master mode select 0 = slave mode, adcbclk and adclrclk are inputs to wm8594 1 = master mode, adcbclk and adclrclk are outputs from wm8594 table 11 adc master mode control slave mode in slave mode, the master clock to left/right clock ratio can be auto-detected or set manually by register write. register address bit label default description r3 dac1_ctrl2 03h 2:0 dac1_ sr[2:0] 000 r8 dac2_ctrl2 08h 2:0 dac2_ sr[2:0] 000 dac mclk:lrclk ratio 000 = auto detect 001 = 128fs 010 = 192fs 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = 1152fs r14 adc_ctrl2 0eh 2:0 adc_ sr[2:0] 000 adc mclk:lrclk ratio 000 = auto detect 001 = reserved 010 = reserved 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = reserved table 12 slave mode mclk to lrclk ratio control digital audio data sampling rates in a typical digital audio system there is one central clock source producing a reference clock to which all audio data processing is synchronised. this clock is often referred to as the audio system?s master clock. the wm8594 uses independent master clocks for adc and dacs. the external master clocks can be applied directly to the adcmclk, dacmclk1 and dacmclk2 input pins. in a system where there are a number of possible sources for the reference clock, it is recommended that the clock source with the lowest jitter be used for the master clock to optimise the performance of the wm8594.
wm8594 product preview w pp rev 1.0 january 2007 24 in slave clocking mode the wm8594 has a master detection circuit that automatically determines the relationship between the master clock frequency (adcmclk, dacmclk1, dacmclk2) and the sampling rate (adclrclk, daclrclk1, daclrclk2), to within +/- 32 system clock periods. the master clocks must be synchronised with the left/right clocks, although the device is tolerant of phase variations or jitter on the master clo cks. the adc supports master clock to sampling clock ratios of 256fs to 768fs and sampling rates of 32khz to 96khz, provided the internal signal processing of the adc is programmed to operate at the correct rate. the dacs support master clock to sampling clock ratios of 128fs to 1152fs and sampling rates of 32khz to 192khz, provided the internal signal processing of the dacs is programmed to operate at the correct rate. table 13 shows typical master clock frequencies and sampling rates supported by the wm8594 adc. table 14 shows typical master clock frequencies and sampling rates supported by the wm8594 dacs. master clock frequency (mhz) sampling rate (adclrclk) 256fs 384fs 512fs 768fs 32khz 8.192 12.288 16.384 24.576 44.1khz 11.2896 16.9344 22.5792 33.8688 48khz 12.288 18.432 24.576 36.864 88.2khz 22.5792 33.8688 unavailable unavailable 96khz 24.576 unavailable unavailable unavailable table 13 adc master clock frequency versus sampling rate master clock frequency (mhz) sampling rate (daclrclk1 daclrclk2) 128fs 192fs 256fs 384fs 512fs 768fs 1152fs 32khz unavailable unavailable 8.192 12.288 16.384 24.576 36.864 44.1khz unavailable 8.4672 11.2896 16.9344 22.5792 33.8688 unavailable 48khz unavailable 9.216 12.288 18.432 24.576 36.864 unavailable 88.2khz 11.2896 16.9344 22.5792 33.8688 unavailable unavailable unavailable 96khz 12.288 18.432 24.576 36.864 unavailable unavailable unavailable 176.4khz 22.5792 33.8688 unavailable unavailable unavailable unavailable unavailable 192khz 24.576 36.864 unavailable unavailable unavailable unavailable unavailable table 14 dac master clock frequency versus sampling rate
product preview wm8594 w pp rev 1.0 january 2007 25 digital audio data formats the wm8594 supports a range of common audio interface formats: ? i 2 s ? left justified (lj) ? right justified (rj) ? dsp mode a ? dsp mode b all formats send the msb first and support word lengths of 16, 20, 24 and 32 bits, with the exception of 32 bit rj mode, which is not supported. audio data for each stereo channel is time multiplexed with the interface?s left/right clock indicating whether the left or right channel is present. the left/right clock is also used as a timing reference to indicate the beginning or end of the data words. in lj, rj and i 2 s modes, the minimum number of bit clock periods per left/right clock period is two times the selected word length. the left/right clock must be high for a minimum of bit clock periods equivalent to the word length, and low for the same period. for example, for a word length of 24 bits, the left/right clock must be high for a minimum of 24 bit clock periods and low for a minimum of 24 bit clock periods. any mark to space ratio is acceptable for the left/right clock provided these requirements are met. in dsp modes a and b, left and right channels must be time multiplexed and input on din1. lrclk is used as a frame synchronisation signal to identify the msb of the first input word. the minimum number of bit clock periods per left/right clock period is two times the selected word length. any mark to space ratio is acceptable for the left/right clock provided the rising edge is correctly positioned. i2s mode in i 2 s mode, the msb of input data is sampled on the second rising edge of bit clock following a left/right clock transition. the msb of output data changes on the first falling edge of bit clock following a left/right clock transition, and may be sampled on the next rising edge of bit clock. left/right clocks are low during the left channel audio data samples and high during the right channel audio data samples. figure 12 i2s mode timing
wm8594 product preview w pp rev 1.0 january 2007 26 left justified (lj) mode in lj mode, the msb of the input data is sampled by the wm8594 on the first rising edge of bit clock following a left/right clock transition. the msb of output data changes on the same falling edge of bit clock as left/right clock and may be sampled on the next rising edge of bit clock. left/right clock is high during the left channel audio data samples and low during the right channel audio data samples. figure 13 lj mode timing right justified (rj) mode in rj mode the lsb of input data is sampled on the rising edge of bit clock preceding a left/right clock transition. the lsb of output data changes on the falling edge of bit clock preceding a left/right clock transition, and may be sampled on the next rising edge of bit clock. left/right clock is high during the left channel audio data samples and low during the right channel audio data samples. figure 14 rj mode timing
product preview wm8594 w pp rev 1.0 january 2007 27 dsp mode a in dsp mode a, the msb of channel 1 left data input is sampled on the second rising edge of bit clock following a left/right clock rising edge. channel 1 right data then follows. the msb of output data changes on the first falling edge of bit clock following a left/right clock transition and may be sampled on the rising edge of bit clock. the right channel data is contiguous with the left channel data. figure 15 dsp mode a timing dsp mode b in dsp mode b, the msb of channel 1 left data input is sampled on the first bit clock rising edge following a left/right clock rising edge. channel 1 right data then follows. the msb of output data changes on the same falling edge of bclk as the low to high left/right clock transition and may be sampled on the rising edge of bit clock. the right channel data is contiguous with the left channel data. figure 16 dsp mode b timing
wm8594 product preview w pp rev 1.0 january 2007 28 digital audio interface control the control of the audio interface formats is achieved by register write. dynamically changing the audio data format may cause erroneous operation and is not recommended. interface timing is such that the input data and left/right clock are sampled on the rising edge of the interface bit clock. output data changes on the falling edge of the interface bit clock. by setting the appropriate bit clock and left/tight clock polarity bits, the wm8594 adc and dacs can sample data on the opposite clock edges. the control of audio interface formats and clock polarities is summarised in table 15. register address bit label default description 1:0 dac1_ fmt[1:0] 10 dac1 audio interface format 00 = right justified 01 = left justified 10 = i 2 s 11 = dsp 3:2 dac1_ wl[1:0] 10 dac1 audio interface word length 00 = 16-bit 01 = 20-bit 10 = 24-bit 11 = 32-bit (not available in right justified mode) 4 dac1_bcp 0 dac1 bclk polarity 0 = dacbclk not inverted - data latched on rising edge of bclk 1 = dacbclk inverted - data latched on falling edge of bclk r2 dac1_ctrl1 02h 5 dac1_lrp 0 dac1 lrclk polarity 0 = daclrclk not inverted 1 = daclrclk inverted 1:0 dac2_ fmt[1:0] 10 dac2 audio interface format 00 = right justified 01 = left justified 10 = i 2 s 11 = dsp 3:2 dac2_ wl[1:0] 10 dac2 audio interface word length 00 = 16-bit 01 = 20-bit 10 = 24-bit 11 = 32-bit (not available in right justified mode) 4 dac2_bcp 0 dac2 bclk polarity 0 = dacbclk not inverted - data latched on rising edge of bclk 1 = dacbclk inverted - data latched on falling edge of bclk r7 dac2_ctrl1 07h 5 dac2_lrp 0 dac2 lrclk polarity 0 = daclrclk not inverted 1 = daclrclk inverted
product preview wm8594 w pp rev 1.0 january 2007 29 register address bit label default description 1:0 adc_ fmt[1:0] 10 adc audio interface format 00 = right justified 01 = left justified 10 = i 2 s 11 = dsp 3:2 adc_ wl[1:0] 10 adc audio interface word length 00 = 16-bit 01 = 20-bit 10 = 24-bit 11 = 32-bit (not available in right justified mode) 4 adc_bcp 0 adc bclk polarity 0 = adcbclk not inverted - data latched on rising edge of bclk 1 = adcbclk inverted - data latched on falling edge of bclk r13 adc_ctrl1 0dh 5 adc_lrp 0 adc lrclk polarity 0 = adclrclk not inverted 1 = adclrclk inverted table 15 audio interface control dac features the wm8594 includes two 24-bit dacs with independent clocks and independent data inputs. the dacs include digital volume control with zero cross and soft mute, de-emphasis support, and the capability to select the output channels to be stereo or a range of mono options. the dacs are enabled by writing to dac1_en and dac2_en. register address bit label default description r2 dac1_ctrl1 02h 8 dac1_en 0 dac1 enable 0 = dac disabled 1 = dac enabled r7 dac2_ctrl1 07h 8 dac2_en 0 dac2 enable 0 = dac2 disabled 1 = dac2 enabled table 16 dac enable control digital volume control the wm8594 dacs include independent digital volume control, allowing the digital gain to be adjusted between -100db and +12db in 0.5db steps. all four dac channels can be controlled independently. alternatively, global update bits allow the user to write all volume changes before the volume is updated. volume control includes optional zero cross functionality. when zero cross is enabled, volume changes are not applied until the output level crosses vmid. zero cross helps to prevent pop and click noise when changing volume settings.
wm8594 product preview w pp rev 1.0 january 2007 30 register address bit label default description r5 dac1l_vol 05h 7:0 dac1l _vol[7:0] r6 dac1r_vol 06h 7:0 dac1r _vol[7:0] r10 dac2l_vol 0ah 7:0 dac2l _vol[7:0] r11 dac2r_vol 0bh 7:0 dac2r _vol[7:0] 11001000 dac digital volume 0000 0000 = -100db 0000 0001 = -99.5db 0000 0010 = -99db ?0.5db steps 1100 1000 = 0db ?0.5db steps 1101 1111 = +11.5db 111x xxxx = +12db r5 dac1l_vol 05h 8 dac1l_vu r6 dac1r_vol 06h 8 dac1r_vu r10 dac2l_vol 0ah 8 dac2l_vu r11 dac2r_vol 0bh 8 dac2r_vu 0 dac digital volume update 0 = latch dac volume setting into register map but do not update volume 1 = latch dac volume setting into register map and update left and right channels simultaneously r2 dac1_ctrl1 02h 7 dac1 _zcen r7 dac2_ctrl1 07h 7 dac2 _zcen 1 dac digital volume control zero cross enable 0 = do not use zero cross 1 = use zero cross table 17 dac digital volume control softmute a soft mute can be applied to dac1 and dac2 independently. register address bit label default description r2 dac1_ctrl1 02h 9 dac1_ mute 0 r7 dac2_ctrl1 07h 9 dac2_ mute 0 dac softmute 0 = normal operation 1 = softmute applied table 18 dac softmute control
product preview wm8594 w pp rev 1.0 january 2007 31 digital monomix control each dac can be independently set to output a range of mono and stereo options. each dac output channel can output left channel data, right channel data or a mix of left and right channel data. register address bit label default description r2 dac1_ctrl1 02h 11:10 dac1_op _mux[1:0] 00 dac1 digital monomix 00 = stereo (normal operation) 01 = mono (left data to dac1r) 10 = mono (right data to dac1l) 11 = digital monomix, (l+r)/2 r7 dac2_ctrl1 07h 11:10 dac2_op _mux[1:0] 00 dac2 digital monomix 00 = stereo (normal operation) 01 = mono (left data to dac2r) 10 = mono (right data to dac2l) 11 = digital monomix, (l+r)/2 table 19 digital monomix control de-emphasis a digital de-emphasis filter may be applied to the dac outputs when the sampling frequency is 44.1khz. the de-emphasis filter for each dac can be applied independently. register address bit label default description r2 dac1_ctrl1 02h 6 dac1 _deemph 0 dac1 de-emphasis 0 = no de-emphasis 1 = apply 44.1khz de-emphasis r7 dac2_ctrl1 07h 6 dac2 _deemph 0 dac2 de-emphasis 0 = no de-emphasis 1 = apply 44.1khz de-emphasis table 20 de-emphasis control clock switching the input clocks to the dac (dacmclk1, dacmclk2, dacbclk1, dacbclk2, daclrclk1, daclrclk2) can be switched between sources if the dacs are required to source data from multiple dsps or application processors. uncontrolled switching of clocks is not recommended as this can result in glitches being applied to the dacs. the wm8594 can be configured to ignore the clock inputs so that the clocks can be switched externally. this means that the wm8594 is not affected by any glitches that arise as a result of switching clocks. the dacs s hould be configured to ignore the input clocks for the duration of the period taken to switch the clocks. register address bit label default description r38 dac1_clk 26h 0 dac1_ safe_sw 0 r39 dac2_clk 0 dac2_ safe_sw 0 dac clock input safe switching 0 = ignore dac clock inputs 1 = use dac clock inputs table 21 dac clock switching control
wm8594 product preview w pp rev 1.0 january 2007 32 adc features the wm8594 features a stereo 24-bit sigma-delta adc, digital volume control with zero cross, a selectable high pass filter to remove dc offsets, and support for both master and slave clocking modes. register address bit label default description r13 adc_ctrl1 0dh 6 adc_en 0 adc enable 0 = adc disabled 1 = adc enabled table 22 adc enable control digital volume control the adc digital volume can be adjusted between +30db and -97db in 0.5db steps. left and right channels can be controlled independently. volume changes can be applied immediately to each channel, or volume changes can be written to both channels before writing to an update bit in order to change the volume in both channels simultaneously. volume control includes optional zero cross functionality. when zero cross is enabled, volume changes are not applied until the output level crosses the dc level of the adc output. zero cross helps to prevent pop and click noise when changing volume settings. register address bit label default description r16 adcl_vol 10h 7:0 adcl _vol[7:0] 11000011 r17 adcr_vol 11h 7:0 adcr _vol[7:0] 11000011 adc digital volume 0000 0000 = digital mute 0000 0001 = -97db 0000 0010 = -96.5db ?0.5db steps 1100 0011 = 0db ?0.5db steps 1111 1110 = +29.5db 1111 1111 = +30db r16 adcl_vol 10h 8 adcl_vu 0 r17 adcr_vol 11h 8 adcr_vu 0 adc digital volume update 0 = latch adc volume setting into register map but do not update volume 1 = latch adc volume setting into register map and update left and right channels simultaneously r13 adc_ctrl1 0dh 13 adc_zc_ en 1 adc digital volume control zero cross enable 0 = do not use zero cross, change volume instantly 1 = use zero cross, change volume when data crosses zero table 23 adc digital volume control channel swap and inversion the wm8594 adc input channels can be inverted and swapped in a number of ways to provide maximum flexibility of input path to the adc. the default configuration provides stereo output data with the left and right channel data in the left and right channels. it is possible to swap the left and right channels, invert them independently, or select the same data from both channels.
product preview wm8594 w pp rev 1.0 january 2007 33 register address bit label default description 7 adc_ lrswap 0 adc left/right swap 0 = normal 1 = swap left channel data into right channel and vice-versa 8 adcr_ inv 0 9 adcl_ inv 0 adcl and adcr output signal inversion 0 = output not inverted 1 = output inverted r13 adc_ctrl1 0dh 11:10 adc_ data_ sel[1:0] 00 adc data output select 00 = left data from adcl, right data from adcr 01 = left data from adcl, right data from adcl 10 = left data from adcr, right data from adcr 11 = left data from adcr, right data from adcl table 24 adc channel swap control high pass filter the wm8594 includes a high pass filter to remove dc offsets. the high pass filter response is shown on page 73. it is possible to disable the high pass filter by writing to adc_hpd. register address bit label default description r13 adc_ctrl1 0dh 12 adc_hpd 0 adc high pass filter disable 0 = high pass filter enabled 1 = high pass filter disabled table 25 high pass filter disable control clock switching the input clocks to the adc (adcmclk, adcbclk, adclrclk) can be switched between sources if the adc is used to supply data to multiple dsps or application processors. uncontrolled switching of clocks is not recomm ended as this may result in clock glitches being applied to the adc. the wm8594 can be configured to ignore the clock inputs so that the clocks can be switched externally. this means that the wm8594 is not affected by any glitches that arise as a result of switching clocks. the adc should be configured to ignore the input clocks for the duration of the period taken to switch the clocks. register address bit label default description r37 adc_clk 25h 0 adc_ safe_sw 0 adc clock input safe switching 0 = ignore adc clock inputs 1 = use adc clock inputs table 26 adc clock switching control analogue routing control the wm8594 has a number of analogue paths, allowing flexible routing of a number of analogue input signals and dac output signals at levels up to 2vrms. the analogue paths include volume control with zero cross, optional soft ramp and soft mute, and flexible routing of analogue inputs and dac outputs to analogue outputs.
wm8594 product preview w pp rev 1.0 january 2007 34 there are a total of ten (five stereo) analogue input channels and four (two stereo) dac output channels. two of the ten input channels can be routed to the adc. six of the 14 total channels can be routed to the analogue outputs. figure 17 illustrates the various blocks of the analogue routing paths within the wm8594. the following sections describe the control bits associated with the wm8594 analogue paths. figure 17 also shows where these control bits take affect on the wm8594. figure 17 analogue routing paths and control analogue volume control each analogue bypass channel includes analogue volume control. volume changes can be applied to each channel immediately as they are written. alternatively, all volume changes can be written, and then all volume changes can be applied simultaneously using the volume update feature. volume control includes optional zero cross functionality. when zero cross is enabled, volume changes are not applied until the output level crosses the dc level of the analogue channel (vmid). zero cross helps to prevent pop and click noise when changing volume settings. the zero cross function includes a timeout which forces volume changes if a zero cross event does not occur. the timeout period is a maximum of 278ms.
product preview wm8594 w pp rev 1.0 january 2007 35 register address bit label default description r19 pga1l_vol 13h 7:0 pga1l_ vol[7:0] r20 pga1r_vol 14h 7:0 pga1r_ vol[7:0] r21 pga2l_vol 15h 7:0 pga2l_ vol[7:0] r22 pga2r_vol 16h 7:0 pga2r_ vol[7:0] r23 pga3l_vol 17h 7:0 pga3l_ vol[7:0] r24 pga3r_vol 18h 7:0 pga3r_ vol[7:0] 00001100 input pga volume 0000 0000 = +6db 0000 0001 = +5.5db ?0.5db steps 00001100 = 0db ? 1001 1110 = -73.5db 1001 1111 = pga mute r19 pga1l_vol 13h 8 pga1l_ vu r20 pga1r_vol 14h 8 pga1r_ vu r21 pga2l_vol 15h 8 pga2l_ vu r22 pga2r_vol 16h 8 pga2r_ vu r23 pga3l_vol 17h 8 pga3l_ vu r24 pga3r_vol 18h 8 pga3r_ vu 0 input pga volume update 0 = latch corresponding volume setting into register map but do not update volume 1 = latch corresponding volume setting into register map and update all channels simultaneously 2 pga1l_ zc 3 pga1r_ zc 4 pga1l_ zc 5 pga1r_ zc 6 pga1l_ zc r25 pga_ctrl1 19h 7 pga1r_ zc 1 pga gain zero cross enable 0 = pga gain updates occur immediately 1 = pga gain updates occur on zero cross table 27 analogue volume control
wm8594 product preview w pp rev 1.0 january 2007 36 volume ramp analogue volume can be adjusted by step change or by soft ramp. the ramp rate is dependent upon the sampling rate. the sampling rate upon which the volume ramp rate is based can be selected between the dac sampling rate or the adc sampling rate in either slave mode or master mode. the ramp rates for common audio sample rates are shown in table 28: sample rate for pga (khz) divide by pga ramp rate (ms/db) 32 8 0.50 44.1 8 0.36 48 8 0.33 88.2 16 0.36 96 16 0.33 176.4 32 0.36 192 32 0.33 table 28 analogue volume ramp rate for example, when using a sample rate of 48khz, the time taken for a volume change from and initial setting of 0db to -20db is calculated as follows: volume change (db) x pga ramp rate (ms/db) = 20 x 0.33 = 6.6ms when changing from one pga ramp clock source to another, it is recommended that pga_safe_sw is set to 0. this forces the clock switch over to occur at a point where all relevant clock signals are zero, ensuring glitch-free operation. this process can take up to 32 left/right clock cycles. if a faster change in pga ramp rate clock source is required, pga_safe_sw can be set to 1. this forces the change in clock source to occur immediately regardless of the state of the relevant clock signals internally. glitch-free operation is not guaranteed under these conditions. if the volume ramp function is not required when increasing or decreasing volume, this block can be bypassed by setting attack_bypass or decay_bypass to 1. figure 18 shows the effect of these register settings: decay_bypass=0 decay_bypass=1 attack_bypass=0 attack_bypass=1 figure 18 attack_bypass and decay_bypass functionality note : when attack_ bypass=1 or decay_bypass=1, it is recomm ended that the zero cross function for the pga is used to eliminate click noise when changing volume settings.
product preview wm8594 w pp rev 1.0 january 2007 37 register address bit label default description 0 decay_ bypass 0 pga gain decay mode 0 = pga gain will ramp down 1 = pga gain will step down r25 pga_ctrl1 19h 1 attack_ bypass 0 pga gain attack mode 0 = pga gain will ramp up 1 = pga gain will step up r27 add_ctrl1 1bh 6:4 pga_ sr[2:0] 001 sample rate for pga 000 = 32khz 001 = 44.1khz 010 = 48khz 011 = 88.2khz 100 = 96khz 101 = 176.4khz 11x = 192khz see table 28 for further information on pga sample rate versus volume ramp rate. 0 pga_ safe_sw 0 pga ramp control clock source mux force update 0 = wait until clocks are safe before switching pga clock source 1 = force pga clock source to change immediately 3:1 pga_ sel[2:0] 000 pga ramp control clock source 000 = adclrclk 001 = daclrclk1 010 = daclrclk2 011 = reserved 100 = reserved 101 = daclrclk1 (when dac1 is being used in master mode) 110 = daclrclk2 (when dac2 is being used in master mode) 111 = adclrclk (when adc is being used in master mode) r36 pga_ctrl3 24h 10 pga_upd 0 pga ramp control clock source mux update 0 = do not update pga clock source 1 = update clock source table 29 analogue volume ramp control
wm8594 product preview w pp rev 1.0 january 2007 38 analogue mute control the analogue channel pgas can be muted independently and are muted by default. alternatively, all mute bits can be set using a master mute bit, mute_all. register address bit label default description 0 mute_ all 0 master pga mute control 0 = unmute all pgas 1 = mute all pgas 1 vout1l_ mute 1 2 vout1r_ mute 1 3 vout2l_ mute 1 4 vout2r_ mute 1 5 vout3l_ mute 1 r26 pga_ctrl2 1ah 6 vout3r_ mute 1 individual pga mute control 0 = unmute pga 1 = mute pga table 30 analogue mute control
product preview wm8594 w pp rev 1.0 january 2007 39 input selector control each left channel input pga can select between all left channel analogue inputs, and both left and right dac inputs. each right channel input pga can select between all right channel analogue inputs, and both left and right dac inputs. all pgas can be enabled and disabled independently. note: it is recommended to mute the pga before changing the input to the pga to avoid pop/click noises when selecting a different input source. figure 19 input selector control
wm8594 product preview w pp rev 1.0 january 2007 40 register address bit label default description 3:0 pga1l_ in_ sel[3:0] 0000 r28 input_ctrl1 1ch 11:8 pga2l_ in_ sel[3:0] 0000 r29 input_ctrl2 1dh 7:4 pga3l_ in_ sel[3:0] 0000 left input pga source selection 0000 = no input selected 0001 = vin1l selected 0010 = vin2l selected 0011 = vin3l selected 0100 = vin4l selected 0101 = vin5l selected 0110 to 1000 = reserved 1001 = dac1l output selected 1010 = dac1r output selected 1011 = dac2l output selected 1100 = dac2r output selected 1101 to 1111 = reserved r28 input_ctrl1 1ch 7:4 pga1r_ in_ sel[3:0] 0000 3:0 pga2r_ in_ sel[3:0] 0000 r29 input_ctrl2 1dh 11:8 pga3r_ in_ sel[3:0] 0000 right input pga source selection 0000 = no input selected 0001 = vin1r selected 0010 = vin2r selected 0011 = vin3r selected 0100 = vin4r selected 0101 = vin5r selected 0110 to 1000 = reserved 1001 = dac1l output selected 1010 = dac1r output selected 1011 = dac2l output selected 1100 = dac2r output selected 1101 to 1111 = reserved 0 pga1l_ en 1 pga1r_ en 2 pga2l_ en 3 pga2r_ en 4 pga3l_ en r31 input_ctrl4 1fh 5 pga3r_ en 0 input pga enable controls 0 = pga disabled 1 = pga enabled table 31 pga input select control
product preview wm8594 w pp rev 1.0 january 2007 41 adc input selector control the adc input switch can be configured to allow any combination of two inputs to be input to the adc. each input switch channel can be controlled independently. the input switch also includes pgas to provide a range of analogue gain settings between -6db and +6db prior to the adc. these pgas can be enabled and disabled independently. figure 20 adc input selector control register address bit label default description 3:0 adcl_ sel[3:0] 0000 7:4 adcr_ sel[4:0] 0000 adc input select 0000 = vin1l 0001 = vin2l 0010 = vin3l 0011 = vin4l 0100 = vin5l 0101 to 1000 = reserved 1000 = vin1r 1001 = vin2r 1010 = vin3r 1011 = vin4r 1100 = vin5r 1101 to 1111 = reserved 9:8 adc_amp _vol[1:0] 10 adc amplifier gain control 00 = 0db 01 = +3db 10 = +6db 11 = +12db r30 input_ctrl3 1eh 10 adc_ switch_ en 0 adc input switch control 0 = adc input switches open 1 = adc input switches closed 6 adcl_ amp_en 0 r31 input_ctrl4 1fh 7 adcr_ amp_en 0 adc input amplifier enable controls 0 = amplifier disabled 1 = amplifier enabled table 32 adc input switch control
wm8594 product preview w pp rev 1.0 january 2007 42 output selector control any analogue pga channel can be routed to any analogue output. all analogue outputs can be independently enabled and disabled. additionally, all outputs can be tri-stated to allow the output to be connected to applications where ports can either be inputs or outputs. note: it is recommended to mute all the outputs before changing the output selector to avoid pop/click noises when selecting a different output source. figure 21 output selector control
product preview wm8594 w pp rev 1.0 january 2007 43 register address bit label default description 2:0 vout1l_ sel[2:0] 000 5:3 vout1r_ sel[2:0] 001 r32 output_ ctrl1 20h 8:6 vout2l_ sel[2:0] 010 2:0 vout2r_ sel[2:0] 011 5:3 vout3l_ sel[2:0] 100 r33 output_ ctrl2 21h 8:6 vout3r_ sel[2:0] 101 output mux selection 000 = pga1l 001 = pga1r 010 = pga2l 011 = pga2r 100 = pga3l 101 = pga3r 11x = reserved 0 vout1l_ tri 1 vout1r_ tri 2 vout2l_ tri 3 vout1r_ tri 4 vout3l_ tri 5 vout3r_ tri 0 output amplifier tristate control 0 = normal operation 1 = output amplifier tristate enable (hi-z) 7 vout1l_ en 8 vout1r_ en 9 vout2l_ en 10 vout2r_ en 11 vout3l_ en r34 output_ ctrl3 22h 12 vout3r_ en 0 output amplifier enables 0 = output amplifier disabled 1 = output amplifier enabled table 33 output selection
wm8594 product preview w pp rev 1.0 january 2007 44 pop and click performance the wm8594 includes a number of features designed to minimise pops and clicks in various phases of operation including power up, power down, changing analogue paths and starting/stopping clocks. in order to ensure optimum performance, the following sequences should be followed. powerup sequence 1. apply power to the wm8594 (see power on reset). 2. set-up initial internal biases: ? soft_st=1 ? fast_en=1 ? pobctrl=1 3. enable output drivers to allow the ac coupling capacitors at the output stage to be pre- charged to dacvmid: ? voutxl_en=1 ? voutxr_en=1 4. enable dacvmid. 500k ? selected here for optimum pop reduction: ? vmid_sel=10 5. wait until dacvmid has fully charged. the time is dependent on the capacitor values used to ac-couple the outputs and to decouple dacvmid, and the vmid_sel value chosen. an approximate delay of 6xrcms can be used, where r is the dacvmid resistance and c is the decoupling capacitor on dacvmid. for dacvmid resistance of 50k ? and c=4.7uf, the delay should be approximately 1.5 seconds. ? insert delay 6. enable the master bias and dacvmid buffer: ? bias_en=1 ? bufio_en=1 7. switch the output drivers to use the master bias instead of the power up (fast) bias: ? pobctrl=0 8. enable all functions (dacs, adc, pgas) required for use. outputs are muted by default so the write order is not important. 9. unmute the outputs and switch dacvmid resistance to 50k for normal operation: ? voutxl_mute=0 ? voutxr_mute=0 ? vmid_sel=01 powerdown sequence 1. mute all outputs: ? mute_all=1 2. set up biases for power down mode: ? fast_en=1 ? vmid_sel=01 ? bias_en=1
product preview wm8594 w pp rev 1.0 january 2007 45 ? bufio_en=1 ? vmidtog=1 ? soft_st=0 3. switch outputs to use fast bias instead of master bias: ? pobctrl=1 4. power down all wm8594 functions (adc, dacs, pgas etc.). the outputs are muted so the write order is not important. 5. power down vmid to allow the analogue outputs to ramp gently to ground in a pop-free manner. ? vmid_sel=00 6. wait until dacvmid has fully discharged. the time taken depends on system c apacitance. ? insert delay 7. clamp outputs to ground. ? ape_b=0 8. power down outputs. ? voutxl_en=0 ? voutxr_en=0 9. disable remaining bias control bits. ? fast_en=0 ? pobctrl=0 ? bias_en=0 power supplies can now be safely removed from the wm8594 if desired. table 34 describes the various bias control bits for power up/down control.
wm8594 product preview w pp rev 1.0 january 2007 46 register address bit label default description 0 pobctrl 0 bias source for output amplifiers 0 = output amplifiers use master bias 1 = output amplifiers use fast bias 1 vmidtog 0 vmid power down characteristic 0 = slow ramp 1 = fast ramp 2 fast_en 0 fast bias enable 0 = fast bias disabled 1 = fast bias enabled 3 bufio_ en 0 vmid buffer enable 0 = vmid buffer disabled 1 = vmid buffer enabled 4 soft_st 1 vmid soft ramp enable 0 = soft ramp disabled 1 = soft ramp enabled 5 bias_en 0 master bias enable 0 = master bias disabled 1 = master bias enabled also powers down adcvmid r35 bias 23h 7:6 vmid_ sel[1:0] 00 vmid resistor string value selection (dacvmid only) 00 = off (no vmid) 01 = 100k ? 10 = 500k ? 11 = 10k ? the selection is the total resistance of the string from dacrefp to dacrefn. the adcvmid resistance is fixed at 200k ? . table 34 bias control
product preview wm8594 w pp rev 1.0 january 2007 47 register map dec addrhex addrname 1514131211109876543210hex default 0 00 device_id 0x8594 101revision 00000000 0x0000 202dac1 _ctrl10000 dac1 _m ute dac1 _en da c1 _zcen dac1 _deemph dac1 _lrp dac1 _b cp 0x008a 303dac1 _ctrl20000000000 0x0000 404dac1 _ctrl3000000000000000dac1 _m str 0x0000 505dac1 l_vol0000000dac1 l_vu 0x00c8 606dac1 r_vol0000000dac1 r_vu 0x00c8 707dac2_ctrl10000 dac2_mutedac2_endac2_zcendac2_deemphdac2_lrpdac2_bcp 0x008a 808dac2_ctrl20000000000 0x0000 909dac2_ctrl3000000000000000dac2_mstr0x0000 1 00adac2l_vol0000000dac2l_vu 0x00c8 1 10bdac2r_vol0000000dac2r_vu 0x00c8 1 20cenable 000000000000000global_en0x0000 1 3 0d adc_ctrl1 0 0 adc_zc_en adc_hpd adcl_inv adcr_inv adc_lrswap adc_en adc_lrp adc_bcp 0x200a 1 40eadc_ctrl2000000000 0x0000 1 50fadc_ctrl300000000000000 adc_mstr0x0000 1 61 0adcl_vol0000000adcl_vu 0x00c3 1 71 1adcr_vol0000000adcr_vu 0x00c3 1 91 3pga1 l_vol0000000pga1 l_vu 0x000c 20 1 4pga1 r_vol0000000pga1 r_vu 0x000c 21 1 5pga2l_vol0000000pga2l_vu 0x000c 22 1 6pga2r_vol0000000pga2r_vu 0x000c 23 1 7pg3l_vol0000000pga3l_vu 0x000c 24 1 8pga3r_vol0000000pga3r_vu 0x000c 25 1 9pga_ctrl100000000pga3r_zcpga3l_zcpga2r_zcpga2l_zcpga1 r_zc pga1 l_zc a ttack_bypas s decay_bypass 0x00fc 26 1 apga_ctrl2000000000vout3r_mutevout3l_mutevout2r_mutevout2l_mutevout1 r_mute vout1 l_m ut e m ut e_a ll 0x007e 27 1 bgen 000000000 auto_inc0000x0048 28 1 cinput_ctrl10000 0x0000 29 1 dinput_ctrl20000 0x0000 30 1 einput_ctrl300000 a dc_switch_e n 0x0008 31 1 finput_ctrl400000000adcr_amp_enadcl_amp_enpga3r_enpga3l_enpga2r_enpga2l_enpga1 r_en pga1 l_en 0x0000 3220output_ctrl10000000 0x0088 3321output_ctrl20000000 0x01 63 34 22 outp ut_ctrl3 0 0 0 vout3r_en vout3l_en vout2r_en vout2l_en vout1 r_en vout1 l_en a p e_b vout3r_tri vout3l_tri vout2r_tri vout2l_tri vout1 r_tri vout1 l_tri 0x0040 3523bias 00000000 bias_ensoft_stbufioenfast_envmidtogpobctrl0x001 0 3624pga_ctrl_300000pga_upd000000 pga_safe_sw0x0002 dac1 _b clkdiv[ 2:0] vm id_sel[1 :0] pga_sel[2:0] vout2l_sel[2:0] vout1 r_sel[2:0] vout1 l_sel[2:0] vout3r_sel[2:0] vout3l_sel[2:0] vout2r_sel[ 2:0] p ga 3r_in_sel[3:0] p ga3l_in_sel[3:0] pga 2r_in_sel[3:0] a dcr_sel[3:0] a dcl_sel[3:0] pga_sr[2:0] p ga2l_in_sel[3:0] p ga1 r_in_sel[3:0] p ga 1 l_in_sel[ 3:0] p ga 2l_vol[7:0] p ga 2r_vol7:0] p ga 3l_vol[7:0] pga 3r_vol[7:0] a dc_data _sel[1 :0] adc_wl[1 :0] adc_fmt[1 :0] adc_bclkdiv[2:0] adc_sr[2:0] dac2_op_m ux[1 :0] dac2_wl[1 :0] dac2_fmt[1 :0] da c2_sr[2:0] da c2_b clkdiv[ 2:0] dac1 _sr[2:0] dac1 l_vol[7:0] dac1 r_vol[7:0] adc_amp_vol[1 :0] da c2l_vol[7:0] dac2r_vol[7:0] adcl_vol[7:0] adcr_vol[7:0] pga1 l_vol[7:0] pga1 r_vol[7:0] read: device_id[1 5:0] / write: sw_rst revnum [7:0] dac1 _op_m ux[1 :0] dac1 _wl[1 :0] da c1 _fm t[1 :0]
wm8594 product preview w pp rev 1.0 january 2007 48 figure 22 r0 ? software reset / device id figure 23 r1 ? device revision register r0 (0h) ? software reset / device id register (device_id) bit # 15 14 13 12 11 10 9 8 read device_id[15:8] write sw_rst default 1 0 0 0 0 1 0 1 bit # 7 6 5 4 3 2 1 0 read device_id[7:0] write sw_rst default 1 0 0 1 0 1 0 0 n/a = not applicable (no function implemented) function description deviceid[15:0] device id a read of this register will return the device id. in this case 0x8594. sw_rst software reset a write of any value to this register will generate a software reset. r1 (01h) ? device revision register (revision) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read revnum[7:0] write n/a n/a n/a n/a n/a n/a n/a n/a default - - - - - - - - n/a = not applicable (no function implemented) function description revnum[7:0] device revision a read of this register will return the device revision number. this number is sequentially incremented if the device design is updated.
product preview wm8594 w pp rev 1.0 january 2007 49 figure 24 r2 ? dac1 control register 1 r2 (02h) ? dac control register 1 (dac1_ctrl1) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 write n/a n/a n/a n/a dac1_op_mux[1:0] dac1_mute dac1_en default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write dac1_zcen dac1_ deemph dac1_lrp dac1_bcp dac1_wl[1:0] dac1_fmt[1:0] default 1 0 0 0 1 0 1 0 n/a = not applicable (no function implemented) function description dac1_fmt[1:0] dac1 audio interface format 00 = right justified 01 = left justified 10 = i 2 s 11 = dsp dac1_wl[1:0] dac1 audio interface word length 00 = 16-bit 01 = 20-bit 10 = 24-bit 11 = 32-bit (not available in right justified mode) dac1_bcp dac1 bclk polarity 0 = dacbclk not inverted - data latched on rising edge of bclk 1 = dacbclk inverted - data latched on falling edge of bclk dac1_lrp dac1 lrclk polarity 0 = daclrclk not inverted 1 = daclrclk inverted dac1_deemph dac1 deemphasis 0 = no deemphasis 1 = apply 44.1khz deemphasis dac1_zcen dac1 digital volume control zero cross enable 0 = do not use zero cross 1 = use zero cross dac1_en dac1 enable 0 = dac disabled 1 = dac enabled dac1_mute dac1 softmute 0 = normal operation 1 = softmute applied dac1_op_mux[1:0] dac1 digital monomix 00 = stereo (normal operation) 01 = mono (left data to dac1r) 10 = mono (right data to dac1l) 11 = digital monomix, (l+r)/2
wm8594 product preview w pp rev 1.0 january 2007 50 figure 25 r3 ? dac1 control register 2 figure 26 r4 ? dac1 control register 3 r3 (03h) ? dac1 control register 2 (dac1_ctrl2) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 write n/a n/a dac1_bclkdiv[2:0] dac1_sr[2:0] default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description dac1_sr[2:0] dac1 mclk:lrclk ratio 000 = auto detect 001 = 128fs 010 = 192fs 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = 1152fs dac1_ bclkdiv [2:0] dac1 bclk rate 000 = mclk / 4 001 = mclk / 8 010 = 32fs 011 = 64fs 100 = 128fs all other values of dac1_bclkdiv[2:0] are reserved r4 (04h) ? dac1 control register 3 (dac1_ctrl3) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac1_mstr default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description dac1_mstr dac1 master mode select 0 = slave mode, dacbclk1 and daclrclk1 are inputs to wm8594 1 = master mode, dacbclk1 and daclrclk1 are outputs from wm8594
product preview wm8594 w pp rev 1.0 january 2007 51 r5 (05h) ? dac1l digital volume control register (dac1l_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac1l_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write dac1l_vol[7:0] default 1 1 0 0 1 0 0 0 n/a = not applicable (no function implemented) function description dac1l_vol[7:0] dac1l digital volume 0000 0000 = -100db 0000 0001 = -99.5db 0000 0010 = -99db ?0.5db steps 1100 1000 = 0db ?0.5db steps 1101 1111 = +11.5db 111x xxxx = + 12db dac1l_vu dac1l digital volume update 0 = latch dac1l_vol[7:0] into register map but do not update volume 1 = latch dac1l_vol[7:0] into register map and update left and right channels simultaneously figure 27 r5 ? dac1l digital volume control register r6 (06h) ? dac1r digital volume control register (dac1r_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac1r_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write dac1r_vol[7:0] default 1 1 0 0 1 0 0 0 n/a = not applicable (no function implemented) function description dac1r_vol[7:0] dac1r digital volume 0000 0000 = -100db 0000 0001 = -99.5db 0000 0010 = -99db ?0.5db steps 1100 1000 = 0db ?0.5db steps 1101 1111 = +11.5db 111x xxxx = + 12db dac1r_vu dac1r digital volume update 0 = latch dacr_vol[7:0] into register map but do not update volume 1 = latch dacr_vol[7:0] into register map and update left and right channels simultaneously figure 28 r6 ? dac1r digital volume control register
wm8594 product preview w pp rev 1.0 january 2007 52 r7 (07h) ? dac2 control register 1 (dac2_ctrl1) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 write n/a n/a n/a n/a dac2_op_mux[1:0] dac2_mute dac2_en default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write dac2_zcen dac2_ deemph dac2_lrp dac2_bcp dac2_wl[1:0] dac2_fmt[1:0] default 1 0 0 0 1 0 1 0 n/a = not applicable (no function implemented) function description dac2_fmt[1:0] dac2 audio interface format 00 = right justified 01 = left justified 10 = i 2 s 11 = dsp dac2_wl[1:0] dac2 audio interface word length 00 = 16-bit 01 = 20-bit 10 = 24-bit 11 = 32-bit (not available in right justified mode) dac2_bcp dac2 bclk polarity 0 = dacbclk not inverted - data latched on rising edge of bclk 1 = dacbclk inverted - data latched on falling edge of bclk dac2_lrp dac2 lrclk polarity 0 = daclrclk not inverted 1 = daclrclk inverted dac2_deemph dac2 deemphasis 0 = no deemphasis 1 = apply 44.1khz de-emphasis dac2_zcen dac2 digital volume control zero cross enable 0 = do not use zero cross 1 = use zero cross dac2_en dac2 enable 0 = dac2 disabled 1 = dac2 enabled dac2_mute dac2 softmute 0 = normal operation 1 = softmute applied dac2_op_mux[1:0] dac2 digital monomix 00 = stereo (normal operation) 01 = mono (left data to right dac2) 10 = mono (right data to left dac2) 11 = digital monomix, (l+r)/2 figure 29 r7 ? dac2 control register 1
product preview wm8594 w pp rev 1.0 january 2007 53 r8 (08h) ? dac2 control register 2 (dac2_ctrl2) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 write n/a n/a dac2_bclkdiv[2:0] dac2_sr[2:0] default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description dac2_sr[2:0] dac2 mclk:lrclk ratio 000 = auto detect 001 = 128fs 010 = 192fs 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = 1152fs dac2_bclkdiv[2:0] dac2 bclk rate 000 = mclk / 4 001 = mclk / 8 010 = 32fs 011 = 64fs 100 = 128fs all other values of dac2_bclkdiv[2:0] are reserved figure 30 r8 ? dac2 control register 2 r9 (09h) ? dac2 control register 3 (dac2_ctrl3) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac2_mstr default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description dac2_mstr dac2 master mode select 0 = slave mode, dacbclk2 and daclrclk2 are inputs to wm8594 1 = master mode, dacbclk2 and daclrclk2 are outputs from wm8594 figure 31 r9 ? dac2 control register 3
wm8594 product preview w pp rev 1.0 january 2007 54 r10 (0ah) ? dac2l digital volume control register (dac2l_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac2l_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write dac2l_vol[7:0] default 1 1 0 0 1 0 0 0 n/a = not applicable (no function implemented) function description dac2l_vol[7:0] dac2 digital volume 0000 0000 = -100db 0000 0001 = -99.5db 0000 0010 = -99db ?0.5db steps 1100 1000 = 0db ?0.5db steps 1101 1111 = +11.5db 111x xxxx = + 12db dac2l_vu dac2 digital volume update 0 = latch dac2l_vol[7:0] into register map but do not update volume 1 = latch dac2l_vol[7:0] into register map and update left and right channels simultaneously figure 32 r10 ? dac2l digital volume control register r11 (0bh) ? dac2r digital volume control register (dac2r_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac2r_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write dac2r_vol[7:0] default 1 1 0 0 1 0 0 0 n/a = not applicable (no function implemented) function description dac2r_vol[7:0] dac2r digital volume 0000 0000 = -100db 0000 0001 = -99.5db 0000 0010 = -99db ?0.5db steps 1100 1000 = 0db ?0.5db steps 1101 1111 = +11.5db 111x xxxx = + 12db dac2r_vu dac2r digital volume update 0 = latch dac2r_vol[7:0] into register map but do not update volume 1 = latch dac2r_vol[7:0] into register map and update left and right channels simultaneously figure 33 r11 ? dac2r digital volume control register
product preview wm8594 w pp rev 1.0 january 2007 55 r12 (0ch) ? device enable register (enable) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a global_en default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description global_en device global enable 0 = adc, dac and pga ramp control circuitry disabled 1 = adc, dac and pga ramp control circuitry enabled figure 34 r12 ? device enable register r13 (0dh) ? adc control register 1 (adc_ctrl1) bit # 15 14 13 12 11 10 9 8 read 0 0 write n/a n/a adc_zcen adc_hpd adc_data_sel[1:0] adcl_inv adcr_inv default 0 0 1 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write adc_ lrswap adc_en adc_lrp adc_bcp adc_wl[1:0] adc_fmt[1:0] default 0 0 0 0 1 0 1 0 n/a = not applicable (no function implemented) function description adc_fmt[1:0] adc audio interface format 00 = right justified 01 = left justified 10 = i 2 s 11 = dsp adc_wl[1:0] adc audio interface word length 00 = 16-bit 01 = 20-bit 10 = 24-bit 11 = 32-bit (not available in right justified mode) adc_bcp adc bclk polarity 0 = adcbclk not inverted - data latched on rising edge of bclk 1 = adcbclk inverted - data latched on falling edge of bclk adc_lrp adc lrclk polarity 0 = adclrclk not inverted 1 = adclrclk inverted adc_en adc enable 0 = adc disabled 1 = adc enabled
wm8594 product preview w pp rev 1.0 january 2007 56 adc_lrswap adc left/right swap 0 = normal 1 = swap left channel data into right channel and vice-versa adcr_inv adcl_inv adcl and adcr output signal inversion 0 = output not inverted 1 = output inverted adc_data_sel[1:0] adc data output select 00 = left data from adcl, right data from adcr (normal stereo) 01 = left data from adcl, right data from adcl (mono left) 10 = left data from adcr, right data from adcr (mono right) 11 = left data from adcr, right data from adcl (reverse stereo) adc_hpd adc high pass filter disable 0 = high pass filter enabled 1 = high pass filter disabled adc_zc_en adc digital volume control zero cross enable 0 = do not use zero cross, change volume instantly 1 = use zero cross, change volume when data crosses zero figure 35 r13 ? adc control register 1 r14 (0eh) ? adc control register 2 (adc_ctrl2) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 write n/a n/a adc_bclkdiv[2:0] adc_sr[2:0] default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description adc_sr[2:0] adc mclk:lrclk ratio 000 = auto detect 001 = reserved 010 = reserved 011 = 256fs 100 = 384fs 101 = 512fs 110 = 768fs 111 = reserved adc_bclkdiv[2:0] adc bclk rate (when adc in master mode) 000 = mclk / 4 001 = mclk / 8 010 = 32fs 011 = 64fs 100 = 128fs all other values of adc_bclkdiv[2:0] are reserved figure 36 r14 ? adc control register 2
product preview wm8594 w pp rev 1.0 january 2007 57 r15 (0fh) ? adc control register 3 (adc_ctrl3) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a adc_mstr default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description adc_mstr adc master mode select 0 = slave mode, adcbclk and adclrclk are inputs to wm8594 1 = master mode, adcbclk and adclrclk are outputs from wm8594 figure 37 r15 ? adc control register 3 r16 (10h) ? left adc digital volume control register (adcl_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a adcl_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write adcl_vol[7:0] default 1 1 0 0 0 0 1 1 n/a = not applicable (no function implemented) function description adcl_vol[7:0] left adc digital volume 0000 0000 = digital mute 0000 0001 = -97db 0000 0010 = -96.5db ?0.5db steps 1100 0011 = 0db ?0.5db steps 1111 1110 = +29.5db 1111 1111 = +30db adcl_vu left dac digital volume update 0 = latch adcl_vol[7:0] into register map but do not update volume 1 = latch adcl_vol[7:0] into register map and update left and right channels simultaneously figure 38 r10 ? left adc digital volume control register
wm8594 product preview w pp rev 1.0 january 2007 58 r17 (11h) ? right adc digital volume control register (adcr_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a adcr_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write adcr_vol[7:0] default 1 1 0 0 0 0 1 1 n/a = not applicable (no function implemented) function description adcr_vol[7:0] right adc digital volume 0000 0000 = digital mute 0000 0001 = -97db 0000 0010 = -96.5db ?0.5db steps 1100 0011 = 0db ?0.5db steps 1111 1110 = +29.5db 1111 1111 = +30db adcr_vu right adc digital volume update 0 = latch adcr_vol[7:0] into register map but do not update volume 1 = latch adcr_vol[7:0] into register map and update left and right channels simultaneously figure 39 r17 ? right adc digital volume control register
product preview wm8594 w pp rev 1.0 january 2007 59 r19 (13h) ? pga1l volume control register (pga1l_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a pga1l_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga1l_vol[7:0] default 0 0 0 0 1 1 0 0 n/a = not applicable (no function implemented) r20 (14h) ? pga1r volume control register (pga1r_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a pga1r_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga1r_vol[7:0] default 0 0 0 0 1 1 0 0 n/a = not applicable (no function implemented) r21 (15h) ? pga2l volume control register (pga2l_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a pga2l_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga2l_vol[7:0] default 0 0 0 0 1 1 0 0 n/a = not applicable (no function implemented) r22 (16h) ? pga2r volume control register (pga2r_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a pga2r_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga2r_vol[7:0] default 0 0 0 0 1 1 0 0 n/a = not applicable (no function implemented) ?continued on next page
wm8594 product preview w pp rev 1.0 january 2007 60 r23 (17h) ? pga3l volume control register (pga3l_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a pga3l_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga3l_vol[7:0] default 0 0 0 0 1 1 0 0 n/a = not applicable (no function implemented) r24 (18h) ? pga3r volume control register (pga3r_vol) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a pga3r_vu default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga3r_vol[7:0] default 0 0 0 0 1 1 0 0 n/a = not applicable (no function implemented) pga1l_vol[7:0] pga1r_vol[7:0] pga2l_vol[7:0] pga2r_vol[7:0] pga3l_vol[7:0] pga3r_vol[7:0] input pga volume 0000 0000 = +6db 0000 0001 = +5.5db ?0.5db steps 00001100 = 0db ? 1001 1110 = -73.5db 1001 1111 = pga mute pga1l_vu pga1r_vu pga2l_vu pga2r_vu pga3l_vu pga3r_vu input pga volume update 0 = latch corresponding volume setting into register map but do not update volume 1 = latch corresponding volume setting into register map and update all channels simultaneously figure 40 r19-24 ? pga volume control registers
product preview wm8594 w pp rev 1.0 january 2007 61 r25 (19h) ? pga control register 1 (pga_ctrl1) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga3r_zc pga3l_zc pga2r_zc pga2l_zc pga1r_zc pga1l_zc attack_ bypass decay_ bypass default 1 1 1 1 1 1 0 0 n/a = not applicable (no function implemented) function description decay_bypass pga gain decay mode 0 = pga gain will ramp down 1 = pga gain will step down attack_bypass pga gain attack mode 0 = pga gain will ramp up 1 = pga gain will step up pga1l_zc pga1r_zc pga2l_zc pga2r_zc pga3l_zc pga3r_zc pga gain zero cross enable 0 = pga gain updates occur immediately 1 = pga gain updates occur on zero cross zero cross must be disabled to use gain ramp figure 41 r25 ? pga control register 1 r26 (1ah) ? pga control register 2 (pga_ctrl2) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 write n/a vout3r_ mute vout3l_ mute vout2r_ mute vout2l_ mute vout1r_ mute vout1l_ mute mute_all default 0 1 1 1 1 1 1 0 n/a = not applicable (no function implemented) function description mute_all master pga mute control 0 = unmute all pgas 1 = mute all pgas vout1l_mute vout1r_mute vout2l_mute vout2r_mute vout3l_mute vout3r_mute individual pga mute control 0 = unmute pga 1 = mute pga figure 42 r26 ? pga control register 2
wm8594 product preview w pp rev 1.0 january 2007 62 r27 (1bh) ? additional control register 1 (add_ctrl1) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 write n/a pga_sr[2:0] auto_inc n/a n/a n/a default 0 1 0 0 1 0 0 0 n/a = not applicable (no function implemented) function description auto_inc 2-wire software mode auto increment enable 0 = auto increment disabled 1 = auto increment enabled pga_sr[2:0] sample rate for pga 000 = 32khz 001 = 44.1khz 010 = 48khz 011 = 88.2khz 100 = 96khz 101 = 176.4khz 11x = 192khz see table 28 for further information on pga sample rate versus volume ramp rate. figure 43 r27 ? additional control register 1
product preview wm8594 w pp rev 1.0 january 2007 63 r28 (1ch) ? input control register 1 (input_ctrl1) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 write n/a n/a n/a n/a pga2l_in_sel[3:0] default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga1r_in_sel[3:0] pga1l_in_sel[3:0] default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) r29 (1dh) ? input control register 2 (input_ctrl2) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 write n/a n/a n/a n/a pga3r_in_sel[3:0] default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write pga3l_in_sel[3:0] pga2r_in_sel[3:0] default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description pga1l_in_sel[3:0] pga2l_in_sel[3:0] pga3l_in_sel[3:0] left input pga source selection 0000 = no input selected 0001 = vin1l selected 0010 = vin2l selected 0011 = vin3l selected 0100 = vin4l selected 0101 = vin5l selected 0110 to 1000 = reserved 1001 = dac1l output selected 1010 = dac1r output selected 1011 = dac2l output selected 1100 = dac2r output selected 1101 to 1111 = reserved pga1r_in_sel[3:0] pga2r_in_sel[3:0] pga3r_in_sel[3:0] right input pga source selection 0000 = no input selected 0001 = vin1r selected 0010 = vin2r selected 0011 = vin3r selected 0100 = vin4r selected 0101 = vin5r selected 0110 to 1000 = reserved 1001 = dac1l output selected 1010 = dac1r output selected 1011 = dac2l output selected 1100 = dac2r output selected 1101 to 1111 = reserved figure 44 r28-29 ? input control registers 1-2
wm8594 product preview w pp rev 1.0 january 2007 64 r30 (1eh) ? input control register 3 (input_ctrl3) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 write n/a n/a n/a n/a n/a adc_ switch_en adc_amp_vol[1:0] default 0 0 0 0 0 0 1 0 bit # 7 6 5 4 3 2 1 0 read write adcr_sel[3:0] adcl_sel[3:0] default 1 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description adcl_sel[3:0] adcr_sel[3:0] adc input select 0000 = vin1l 0001 = vin2l 0010 = vin3l 0011 = vin4l 0100 = vin5l 0101 to 1000 = reserved 1000 = vin1r 1001 = vin2r 1010 = vin3r 1011 = vin4r 1100 = vin5r 1101 to 1111 = reserved adc_amp_vol[1:0] adc amplifier gain control 00 = 0db 01 = +3db 10 = +6db 11 = +12db adc_switch_en adc input switch control 0 = adc input switches open 1 = adc input switches closed figure 45 r30 ? input control register 3
product preview wm8594 w pp rev 1.0 january 2007 65 r31 (1fh) ? input control register 4 (input_ctrl4) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write adcr_amp_ en adcl_amp_ en pga3r_en pga3l_en pga2r_en pga2l_en pga1r_en pga1l_en default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description pga1l_en pga1r_en pga2l_en pga2r_en pga3l_en pga3r_en input pga enable controls 0 = pga disabled 1 = pga enabled adcl_amp_en adcr_amp_en adc input amplifier enable controls 0 = amplifier disabled 1 = amplifier enabled figure 46 r31 ? input control register 4
wm8594 product preview w pp rev 1.0 january 2007 66 r32 (20h) ? output control register 1 (output_ctrl1) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a vout2l_ sel[2] default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write vout2l_sel[1:0] vout1r _sel[2:0] vout1l_sel[2:0] default 1 0 0 0 1 0 0 0 n/a = not applicable (no function implemented) r33 (21h) ? output control register 2 (output_ctrl2) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a vout3r_ sel[2] default 0 0 0 0 0 0 0 1 bit # 7 6 5 4 3 2 1 0 read write vout3r_sel [1:0] vout3l_sel [2:0] vout2r_sel[2:0] default 0 1 1 0 0 0 1 1 n/a = not applicable (no function implemented) function description vout1l_sel[3:0] vout1r_sel [3:0] vout2l_sel [3:0] vout2r_sel [3:0] vout3l_sel [3:0] vout3r_sel [3:0] output mux selection 000 = pga1l 001 = pga1r 010 = pga2l 011 = pga2r 100 = pga3l 101 = pga3r 11x = reserved figure 47 r32-33 ? output control registers 1-2
product preview wm8594 w pp rev 1.0 january 2007 67 r34 (22h) ? output control register 3 (output_ctrl3) bit # 15 14 13 12 11 10 9 8 read 0 0 0 write n/a n/a n/a vout3r_en vout3l_en vout2r_en vout2l_en vout1r_en default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write vout1l_en ape_b vout3r_tri vout3l_tri vout2r_tri vout2l_tri vout1r_tri vout1l_tri default 0 1 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description vout1l_tri vout1r_tri vout2l_tri vout2r_tri vout3l_tri vout3r_tri output amplifier tristate control 0 = normal operation 1 = output amplifier tristate enable (hi-z) ape_b clamp outputs to ground 0 = clamp active 1 = clamp not active vout1l_en vout1r_en vout2l_en vout2r_en vout3l_en vout3r_en output amplifier enables 0 = output amplifier disabled 1 = output amplifier enabled figure 48 r34 ? output control register 3
wm8594 product preview w pp rev 1.0 january 2007 68 r35 (23h) ? bias control register (bias) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read write vmid_sel[1:0] bias_en soft_st bufio_en fast_en vmidtog pobctrl default 0 0 0 1 0 0 0 0 n/a = not applicable (no function implemented) function description pobctrl bias source for output amplifiers 0 = output amplifiers use master bias 1 = output amplifiers use fast bias vmidtog vmid power down characteristic 0 = slow ramp 1 = fast ramp fast_en fast bias enable 0 = fast bias disabled 1 = fast bias enabled bufio_en vmid buffer enable 0 = vmid buffer disabled 1 = vmid buffer enabled soft_st vmid soft ramp enable 0 = soft ramp disabled 1 = soft ramp enabled bias_en master bias enable 0 = master bias disabled 1 = master bias enabled also powers down adcvmid vmid_sel[1:0] vmid resistor string value selection (dacvmid only) 00 = off (no vmid) 01 = 100k ? 10 = 500k ? 11 = 10k ? the selection is the total resistance of the string from dacrefp to dacrefn. the adcvmid resistance is fixed at 200k ? . figure 49 r35 ? bias control register
product preview wm8594 w pp rev 1.0 january 2007 69 r36 (24h) ? pga control register 3 (pga_ctrl3) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a pga_upd n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 write n/a n/a n/a n/a pga_sel[2:0] pga_ safe_sw default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description pga_safe_sw pga ramp control clock source mux force update 0 = wait until clocks are safe before switching pga clock source 1 = force pga clock source to change immediately see page 37 for details of use. pga_sel[2:0] pga ramp control clock source 000 = adclrclk 001 = daclrclk1 010 = daclrclk2 011 = reserved 100 = reserved 101 = daclrclk1 (when dac1 is being used in master mode) 110 = daclrclk2 (when dac2 is being used in master mode) 111 = adclrclk (when adc is being used in master mode) pga_upd pga ramp control clock source mux update 0 = do not update pga clock source 1 = update clock source figure 50 r36 ? pga control register 3 r37 (25h) ? adc input clock control register (adc_clk) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a adc_ safe_sw default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description adc_safe_sw adc clock input safe switching 0 = ignore adc clock inputs 1 = use adc clock inputs see page 33 for details of use figure 51 r37 ? adc input clock control register
wm8594 product preview w pp rev 1.0 january 2007 70 r38 (26h) ? dac1 input clock control register (dac1_clk) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac1_ safe_sw default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description dac1_safe_sw dac1 clock input safe switching 0 = ignore dac1 clock inputs 1 = use dac1 clock inputs see page 31 for details of use. figure 52 r38 ? dac1 input clock control register r39 (27h) ? dac2 input clock control register (dac2_clk) bit # 15 14 13 12 11 10 9 8 read 0 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a n/a default 0 0 0 0 0 0 0 0 bit # 7 6 5 4 3 2 1 0 read 0 0 0 0 0 0 0 write n/a n/a n/a n/a n/a n/a n/a dac2_ safe_sw default 0 0 0 0 0 0 0 0 n/a = not applicable (no function implemented) function description dac2_safe_sw dac2 clock input safe switching 0 = ignore dac2 clock inputs 1 = use dac2 clock inputs see page 31 for details of use. figure 53 r39 ? dac2 input clock control register
product preview wm8594 w pp rev 1.0 january 2007 71 digital filter characteristics parameter test conditions min typ max unit adc filter passband 0.05db 0.454fs passband ripple 0.05 db stopband 0.546fs stopband attenuation -60 db group delay 16 fs dac filter ? 32khz to 96khz passband 0.1db 0.454fs passband ripple 0.1 db stopband 0.546fs stopband attenuation f > 0.546fs -50 db group delay 10 fs dac filter ? 176.4khz to 192khz passband 0.1db 0.247fs passband ripple 0.1 db stopband 0.753fs stopband attenuation f > 0.546fs -50 db group delay 10 fs dac filter responses -120 -100 -80 -60 -40 -20 0 0 0.5 1 1.5 2 2.5 3 frequency (fs) response (db) -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 frequency (fs) response (db) figure 54 dac digital filter frequency response ? 32khz to 96khz figure 55 dac digital filter ripple ?32khz to 96khz
wm8594 product preview w pp rev 1.0 january 2007 72 -100 -80 -60 -40 -20 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 frequency (fs) response (db) -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 frequency (fs) response (db) figure 56 dac digital filter frequency response ? 176.4khz to 192khz figure 57 dac digital filter ripple ? 176.4khz to 192khz digital de-emphasis characteristics figure 58 de-emphasis frequency response (44.1khz) figure 59 de-emphasis error (44.1khz)
product preview wm8594 w pp rev 1.0 january 2007 73 adc filter responses magnitude (db) up to fs -140 -120 -100 -80 -60 -40 -20 0 20 0.00 0.25 0.50 0.75 frequency magnitude (db): passband ripple -0.1 -0.08 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 0.00 0.25 frequency figure 60 adc digital filter frequency response figure 61 adc digital filter ripple adc high pass filter the wm8594 has a selectable digital high pass filter to remove dc offsets. the filter response is characterised by the following polynomial. figure 62 adc highpass filter response 1 - z -1 1 - 0.9995z -1 h(z) = ma gnitude( db) 0 2 4 6 8 101214161820 -20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0
wm8594 product preview w pp rev 1.0 january 2007 74 applications information recommended external components notes: 1. agnd and dgnd should ideally share a continuous ground plane. where this is not possible, it is recommended that agnd and dgnd are connected as close to the wm8594 as possible. 2. decoupling capacitors shown are very low-esr, multilayer ceramic capacitors and should be placed as near to the wm8594 as possible. equally good results may be obtained using 0.1f ceramic capacitors near to the wm8594, with a 10f electrolytic capacitor nearby.
product preview wm8594 w pp rev 1.0 january 2007 75 recommended analogue low pass filter ? ? ? ? figure 63 recommended analogue low pass filter (shown for vout1l/r) note: see wan0176 for ac coupling capacitor selection information. an external single pole rc filter is recommended (see figure 63) if the device is driving a wideband amplifier. other filter architectures may provide equally good results. extended input impedance configuration ? ? figure 64 extended input impedance configuration note: see wan0176 for ac coupling capacitor selection information. the input impedance to the wm8594 is specified in the electrical characteristics section beginning on p7, and is fixed across gain setting and signal routing options. if this input impedance is not enough for the intended application, an alternative input configuration (figure 64) is possible. this configuration increases the input impedance to the wm8594 by 10k ? , but reduces the overall gain in the adc and bypass paths by -6db. in order to compensate for this reduction in gain, +6db of gain should be set in the adc input pga (by using adc_amp_vol[1:0]) and in the bypass pga (by using pgaxx_vol[7:0]). examples: ? if a 2v rms signal is applied to vin1l and vin1r and routed to vout1l and vout1r using pga1l and pga1r, then setting pga1l_vol[7:0] and pga1r_vol[7:0] =0x00 is necessary to see 2v rms at vout1l and vout1r. ? if a 2v rms signal is applied to vin1l and vin1r and routed to adcl and adcr, then setting adc_amp_vol[1:0]=10 is necessary to see 0dbfs at the adc outputs.
wm8594 product preview w pp rev 1.0 january 2007 76 relevant application notes the following application notes, available from www.wolfsonmicro.com , may provide additional guidance for the use of the wm8594. device performance: wan0129 ? decoupling and layout methodology for wolfson dacs, adcs and codecs wan0144 ? using wolfson audio dacs and codecs with noisy supplies wan0176 ? ac coupling capacitor selection general: wan0108 ? moisture sensitivity classification and plastic ic packaging wan0109 ? esd damage in integrated circuits: causes and prevention wan0158 ? lead-free solder profiles for lead-free components
product preview wm8594 w pp rev 1.0 january 2007 77 package dimensions notes: a. all linear dimensions are in millimeters. b. this drawing is subject to change without notice. c. body dimensions do not include mold flash or protrusion, not to exceed 0.25mm. d. meets jedec.95 ms-026, variation = abc. refer to this specification for further details. dm004.c ft: 48 pin tqfp (7 x 7 x 1.0 mm) symbols dimensions (mm) min nom max a ----- ----- 1.20 a 1 0.05 ----- 0.15 a 2 0.95 1.00 1.05 b 0.17 0.22 0.27 c 0.09 ----- 0.20 d 9.00 bsc d 1 7.00 bsc e 9.00 bsc e 1 7.00 bsc e 0.50 bsc l 0.45 0.60 0.75 0 o 3.5 o 7 o tolerances of form and position ccc 0.08 ref: jedec.95, ms-026 25 36 e b 12 1 d1 d e1 e 13 24 37 48 a a2 a1 seating plane ccc c -c- c l
wm8594 product preview w pp rev 1.0 january 2007 78 important notice wolfson microelectronics plc (?wolfson?) products and services are sold subject to wolfson?s terms and conditions of sale, delivery and payment supplied at the time of order acknowledgement. wolfson warrants performance of its products to the specifications in effect at the date of shipment. wolfson reserves the right to make changes to its products and specifications or to discontinue any product or service without notice. customers should therefore obtain the latest version of relevant information from wolfson to verify that the information is current. testing and other quality control techniques are utilised to the extent wolfson deems necessary to support its warranty. specific testing of all parameters of each device is not necessarily performed unless required by law or regulation. in order to minimise risks associated with customer applications, the customer must use adequate design and operating safeguards to minimise inherent or procedural hazards. wolfson is not liable for applications assistance or customer product design. the customer is solely responsible for its selection and use of wolfson products. wolfson is not liable for such selection or use nor for use of any circuitry other than circuitry entirely embodied in a wolfson product. wolfson?s products are not intended for use in life support systems, appliances, nuclear systems or systems where malfunction can reasonably be expected to result in personal injury, death or severe property or environmental damage. any use of products by the customer for such purposes is at the customer?s own risk. wolfson does not grant any licence (express or implied) under any patent right, copyright, mask work right or other intellectual property right of wolfson covering or relating to any combination, machine, or process in which its products or services might be or are used. any provision or publication of any third party?s products or services does not constitute wolfson?s approval, licence, warranty or endorsement thereof. any third party trade marks contained in this document belong to the respective third party owner. reproduction of information from wolfson datasheets is permissible only if reproduction is without alteration and is accompanied by all associated copyright, proprietary and other notices (including this notice) and conditions. wolfson is not liable for any unauthorised alteration of such information or for any reliance placed thereon. any representations made, warranties given, and/or liabilities accepted by any person which differ from those contained in this datasheet or in wolfson?s standard terms and conditions of sale, delivery and payment are made, given and/or accepted at that person?s own risk. wolfson is not liable for any such representations, warranties or liabilities or for any reliance placed thereon by any person. address: wolfson microelectronics plc westfield house 26 westfield road edinburgh eh11 2qb tel :: +44 (0)131 272 7000 fax :: +44 (0)131 272 7001 email :: sales@wolfsonmicro.com


▲Up To Search▲   

 
Price & Availability of WM8594SEFTRV

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X